ดึงข้อมูล 2 ฟิวล์ จากตาางที่มีหลายฟิวล์มันจะช้ากว่าหรือเปล่าครับ

เริ่มโดย hurahura, 09 กรกฎาคม 2014, 20:03:08

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

hurahura

สมติมีตารางอยู่มีข้อมูลอยู่เพียบเลย เราต้องการดึงข้อมูลเฉพาะ A กับ H
แต่ filed อื่นมีข้อมูลอยู่และเป็นข้อมูลขนาดใหญ่ด้วยพวกบทความอะไรแบบนี้

กับดึงข้อมูล A กับ H เหมือนกัน แต่ในตารางนั้นมีแต่ 2 ฟิวล์ อยากทราบว่าความเร็วเท่ากันหรือเปล่าครับ




ย้ำอีกครั้ง ไม่ได้ถามว่า select a,h กับ select * อะไรเร็วกว่ากัน

แต่ถามว่า select a,h เหมือนกัน แต่ตารางหนึ่งมี ฟิวล์อื่นด้วย กับอีกตารางมีแค่ 2 ฟิวล์ มันเร็วเท่ากันหรือไม่


mikeyx

select * ช้ากว่า
select a,h

ปัจจัยอื่น ๆ คือจำนวนแถว ยิ่งมาก ๆ มันบวมก็ช้าเองครับ

เคยทำระบบเก็บสถิติ ทำจนเว็บตัวเองล่ม

unaii

อ้างถึงจาก: mikeyx ใน 09 กรกฎาคม 2014, 20:24:10
select * ช้ากว่า
select a,h

ปัจจัยอื่น ๆ คือจำนวนแถว ยิ่งมาก ๆ มันบวมก็ช้าเองครับ

เคยทำระบบเก็บสถิติ ทำจนเว็บตัวเองล่ม

ตามนี้เลยครับ เป็นสิ่งที่ควรทำในขั้นตอนการ optimize โปรแกรมเลย จะเห็นความชัดเจนมากๆ กับข้อมูลขนาดใหญ่ เคยทดสอบกับฐานข้อมูลทะเบียนราษฏร์และฐานข้อมูลของสำนักงานตำรวจแห่งชาติครับ

hurahura

ไม่ได้หมายถึงให้เทียบ select * กับ select เลือกฟิวล์ นะครับ

ให้ select a,h เหมือนกัน แต่อันนึงเลือกจากตารางที่มีฟิวล์อื่นอยู่ด้วย แต่อีกตารางมีแค่ 2 ฟิวล์
ใช้โค้ด sql เดียวกันมันจะเร็วเท่ากันหรือเปล่าครับ

zapanlek

อ้างถึงจาก: hurahura ใน 09 กรกฎาคม 2014, 20:48:44
ไม่ได้หมายถึงให้เทียบ select * กับ select เลือกฟิวล์ นะครับ

ให้ select a,h เหมือนกัน แต่อันนึงเลือกจากตารางที่มีฟิวล์อื่นอยู่ด้วย แต่อีกตารางมีแค่ 2 ฟิวล์
ใช้โค้ด sql เดียวกันมันจะเร็วเท่ากันหรือเปล่าครับ

หากข้อมูลไม่ถึงแสน จะไม่เห็นความแตกต่างครับ ยิ่งเป็นล้านยิ่งเห็นครับ
ผมชอบเวปนี้
www.aixfs.com

xvlnw.com

ถ้าข้อมูลไม่เยอะจริงๆก็แทบไม่เห็นครับ

หากเริ่มมีอาการช้า ก็ใช้พวก DB Cache เข้ามาช่วยได้คับ
[direct=https://cloudhost.in.th/wordpress-hosting]ツ ⓌⓄⓇⒹⓅⓇⒺⓈⓈ ⒽⓄⓈⓉⒾⓃⒼ [/direct] :wanwan014:  :D
[direct=https://cloudhost.in.th/cloudhosting.html]Cloud Hosting[/direct] [direct=https://cloudhost.in.th/cloudvps.html]Cloud Server[/direct] [direct=https://cloudhost.in.th/vpshosting.html]Cloud VPS Hosting[/direct] [direct=https://cloudhost.in.th/windowsvps.html]Cloud Windows[/direct] Tel: 080-348-0843 LINE: ixvlnw

hurahura

โอเค ผมทดสอบแล้วครับ สรุปไว้เผื่อคนเข้ามาอ่านทีหลัง

แม้ว่าเราจะ select ข้อมูลแค่ a,h แต่ถ้าตารางนั้นมีฟิวล์อื่นอยู่ด้วย จะช้ากว่้าตารางที่ทีแค่ฟิวล์ a กับ h ครับ

jpy193

สนับสนุนอีกเสียงครับว่า ระบุชื่อฟิวลงไปเร็วกว่าและกินแรมเซิฟเวอร์น้อยกว่า จะเห็นความแตกต่างเลยถ้า query ตารางที่มีซักล้าน record

แต่ทั้งนี้ทั้งนั้นอยู่ที่เงื่อนไขในการเรียก(where) และการทำ index


nut_anek

[direct=https://www.indytheme.com/themes/smart-variety][/direct][direct=https://www.indytheme.com/themes/indymall][/direct]
[direct=https://www.indytheme.com]ธีม wordpress สวย ถูก และมีคุณภาพ[/direct]
[direct=https://www.indytheme.com/themes/smart-variety]ส่วนลด 10% บาท เพียงกรอกโค้ด THAISEO10 สำหรับชาว ThaiSeo เท่านั้น[/direct]

xvlnw.com

อ้างถึงจาก: xvlnw.com ใน 09 กรกฎาคม 2014, 21:16:22
ถ้าข้อมูลไม่เยอะจริงๆก็แทบไม่เห็นครับ

หากเริ่มมีอาการช้า ก็ใช้พวก DB Cache เข้ามาช่วยได้คับ

ขอบคุณที่ไปลองแล้วมาแชร์ต่อครับ  :wanwan020: :wanwan020:
[direct=https://cloudhost.in.th/wordpress-hosting]ツ ⓌⓄⓇⒹⓅⓇⒺⓈⓈ ⒽⓄⓈⓉⒾⓃⒼ [/direct] :wanwan014:  :D
[direct=https://cloudhost.in.th/cloudhosting.html]Cloud Hosting[/direct] [direct=https://cloudhost.in.th/cloudvps.html]Cloud Server[/direct] [direct=https://cloudhost.in.th/vpshosting.html]Cloud VPS Hosting[/direct] [direct=https://cloudhost.in.th/windowsvps.html]Cloud Windows[/direct] Tel: 080-348-0843 LINE: ixvlnw

hurahura

-*-

มาย้ำอีกครั้ง คำถามไม่ได้ถามว่า ดึงจาก 2 ฟิวล์ กับดึงทั้งหมดอย่างไหนเร็วกว่ากัน

คำถามคือ

อ้างถึงselect a,h from table1

กับ
อ้างถึงselect a,h from table2

แบบไหนเร็วกว่ากัน


โดยที่ table1 มีฟิวล์อื่นอยู่ด้วย
ในขณะที่ table2 มีแค่ 2 ฟิวล์

---------------------------------------------

โดยหลักการมันควรจะเร็วเท่ากัน เพราะมันก็เลือกแค่ 2 ฟิวล์เหมือนกัน ฟิลว์อื่นจะมีข้อมูลหรือไม่ มีเยอะแค่ไหนไม่น่าเกี่ยว

แต่ผลจากที่ผมทดลองพบว่ามันต่างกันครับ



nut_anek

อ้างถึงจาก: hurahura ใน 09 กรกฎาคม 2014, 23:52:05
-*-

มาย้ำอีกครั้ง คำถามไม่ได้ถามว่า ดึงจาก 2 ฟิวล์ กับดึงทั้งหมดอย่างไหนเร็วกว่ากัน

คำถามคือ

อ้างถึงselect a,h from table1

กับ
อ้างถึงselect a,h from table2

แบบไหนเร็วกว่ากัน


โดยที่ table1 มีฟิวล์อื่นอยู่ด้วย
ในขณะที่ table2 มีแค่ 2 ฟิวล์



ก็ได้คำตอบไปแล้วไม่ใช่หรอครับ

อ้างถึงโอเค ผมทดสอบแล้วครับ สรุปไว้เผื่อคนเข้ามาอ่านทีหลัง

แม้ว่าเราจะ select ข้อมูลแค่ a,h แต่ถ้าตารางนั้นมีฟิวล์อื่นอยู่ด้วย จะช้ากว่้าตารางที่ทีแค่ฟิวล์ a กับ h ครับ

อ้างถึงดึงจากแค่ 2 ฟิวยังไงก็เร็วกว่าอยู่แล้วครับ

ผมว่า น่าจะเข้าใจถูกละนะคือ

เลือก h,a จาก a b c d e f g h
กับ เลือก h,a จาก a h

อันล่างเร็วกว่า

[direct=https://www.indytheme.com/themes/smart-variety][/direct][direct=https://www.indytheme.com/themes/indymall][/direct]
[direct=https://www.indytheme.com]ธีม wordpress สวย ถูก และมีคุณภาพ[/direct]
[direct=https://www.indytheme.com/themes/smart-variety]ส่วนลด 10% บาท เพียงกรอกโค้ด THAISEO10 สำหรับชาว ThaiSeo เท่านั้น[/direct]

hurahura

อ้างถึงจาก: nut_anek ใน 10 กรกฎาคม 2014, 00:01:02

ก็ได้คำตอบไปแล้วไม่ใช่หรอครับ


ก็ได้คำตอบแล้ว แต่มีคนไม่เข้าใจคำถามอยู่ จึงมาอธิบายครับ

watchlakorn

ปัญหาต่อไปคือ สร้างตาราง ย่อยๆๆๆๆ พอเยอะใช้ join = ช้ากว่า select 1 ตาราง แต่เลือก อ่านแค่ field
Patum Digital Technology LTD.
VPS | Reseller | Dedicated | Colocation
http://www.patumhost.com