Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,028

HOME > PHP > PHP Forum > ขำคำแนะนำในการselect ข้อมูลหลายหมื่น record หน่อยค่ะ คือselect และวให้ php คำนวน กับ คำนวนผ่านคำสั่ง sql ใน mysql เลย อันใหนจะดีและเร็วกว่ากันคะ



 

ขำคำแนะนำในการselect ข้อมูลหลายหมื่น record หน่อยค่ะ คือselect และวให้ php คำนวน กับ คำนวนผ่านคำสั่ง sql ใน mysql เลย อันใหนจะดีและเร็วกว่ากันคะ

 



Topic : 078899



โพสกระทู้ ( 180 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook



พอดีทำรายงานสรุปข้อมูลอยู่ค่ะแล้วข้อมูลตอนนี้มีอยู่เยอะมาก 8,000,000 record

แล้วการทำรายงานต้องเอาข้อมูลทีละ ประมาณ20000 - 30000 record (ข้อมูล 1 วัน) มาคำนวนเพื่อแสดงผล

ปัญหาคือ จะคำนวนที่ server เลยผ่านคำสั่ง sql

หรือ select ข้อมูลมาให้ php คำนวน แล้วupdate ไปที่ mysql

จากนั้นก่อselectข้อมูลแมาแสดงได้ทันที

ถามพี่พี่ว่าวีธีใหนดีกว่ากัน



Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-05-24 16:28:22 By : tai_kook View : 3234 Reply : 7
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

อันที่จริงข้อมูลที่เยอะ ๆ ไม่ควร Query บ่อยครับ ทางเลือกน่าจะเป็นที่ 2 ครับ คือ คำนวณเสร็จก็เก็บไว้อีก table หนึ่งที่ข้อมูลน้อยครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-24 16:57:21 By : mr.win
 


 

No. 2



โพสกระทู้ ( 178 )
บทความ ( 0 )



สถานะออฟไลน์


แนะนำควณนวนก่อนดีกว่าครับ เพราะข้อมูลเยอะ query อาจจะ error ได้ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-25 11:51:21 By : keng_ds
 

 

No. 3

Guest


8,000,000 record ถ้า Query มาทั้งหมดจะใช้เวลานานมาก
แค่ 10000 ก็เริ่มช้าแล้ว

ใส่เงื่อนไขการ query ไปกับ คำสั่ง SQL ดีที่สุด
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-25 11:58:26 By : rootElement@kmutnb
 


 

No. 4



โพสกระทู้ ( 180 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ขอถามอีกอย่างนะคะ ข้อมูล 10000 record ใช้เวลาในการ select นานมากใหมคะ พอดีในเครื่องserver นานมาก แต่ถ้ารันในเครื่องเราเองนี้ไม่เท่าใหร่ค่ะ เลยอยากรู้ว่าปกติแล้ว 10000 record ใฃ้เวลาประมาณแค่ใหนคะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-25 13:23:23 By : tai_kook
 


 

No. 5

Guest


ที่เครื่องเราเร็วเพราะว่าในการ Query แล้วนำมาแสดงผมนั้นมันใกล้กันมากๆ
แต่ถ้า server ด้วย ประสิทธิภาพของแต่ละ server ไม่เท่ากัน
และการโอนถ่ายข้อมูลทาง Internet จึงทำให้ช้าลงมามาก

ในเครื่องเรา หรือวงแลนเดียวกัน เหมือนการขนของจากมุมห้องหนึ่งไปอีกมุม
client - server ก็เหมือนการส่งของจากกรุงเทพไปเชียงใหม่
ด้วยระยะทาง และ สภาพ ถนน เลยทำให้ระยะเวลาต่างกัน

ที่ถามว่านานแค่ไหน อันนี้ก็ตอบไม่ได้ ขึ้นอยู่กับ
สภาพของ Server
Internet
แล้วก็จำนวนการใช้งานในช่วงนั้นๆ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-25 13:39:17 By : rootElement@kmutnb
 


 

No. 6

Guest


ถ้าข้อมูลมีเยอะ
หลีกเลี่ยงการใช้ select * ให้ select โดยระบุเฉพาะ field ที่ต้องการ
การแสดงผลข้อมูลเยอะๆ ให้ใช้ การแบ่งหน้าเอา ( ลองคิดถึงข้อมูล 10000 record ใน 1 หน้า ใครๆก็ไม่อยากดู)
ใน MySQL ใช้ limit ได้ ถ้า Oracle ใช้ limit ไม่ได้ต้องใช้ sub Query เอาครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-25 13:44:41 By : rootElement@kmutnb
 


 

No. 7



โพสกระทู้ ( 180 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

คือมันจำเป็นต้องselect เป็นหมื่น record ค่ะ เพราะข้อมูลเป็นการสรุปทุกวัน ไม่สามารถหลีกเลี่ยงได้เลย แต่ในการนำมาแสดงผลนั้น นำมาเพียงแค่ 1 record จากข้องมูลจำนวนมาก คือเอาทั้งวันมาคำนวนก่อนก่อน หลังจากคำนวนเสร็จจะเลือกอันที่น้อยที่สุด ในแต่ละวัน ประมาณนี้ค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-26 13:41:24 By : tai_kook
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ขำคำแนะนำในการselect ข้อมูลหลายหมื่น record หน่อยค่ะ คือselect และวให้ php คำนวน กับ คำนวนผ่านคำสั่ง sql ใน mysql เลย อันใหนจะดีและเร็วกว่ากันคะ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่