สอบถามการทำ index mysql เพื่อเพิ่มความเร็วในการ Query ข้อมูลครับ

เริ่มโดย JumDaiDee, 04 สิงหาคม 2017, 17:10:43

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

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

JumDaiDee

แบบที 1 แบ่งเป็น 3 คอลัมน์ คือ year, month, day (ทำเป็น 3 index)
แบบที่ 2 แบ่งเป็น 1 คอลัมน์ คือ year-month-day

พี่ๆ ที่มีประสบการณ์ query ข้อมูลเกี่ยวกับวัน ควรใช้แบบไหนดีกว่ากันครับ
สินค้าออนไลน์ https://www.shoppook.com/product | โปรแกรมออนไลน์ : https://appnon.com

chaynuwong

ผมแนะนำ แบบที่ 2 ครับ เพราะเวลา คุณ query  ทั้ง 3 คอมลัม มันต้อง มี and and  แค่คิดว่าต้องมีเงื่อนไขเยอะขึ้น มันก็ลำบากใจในการทำงานแล้วคับ
ผมเลยแนะนำ แบบที่ 2  คอลัมเดียว ครอบคลุม เฉพาะเรื่องเวลาน่ะครับ ทุกอย่างสามารถทำใน  คอลัมเดียวได้ ทั้งหมด แต่การแบ่งคอลัมเพื่อ การแยกช้อมูลที่  ที่มีการใช้งานแบบ จำกัด แบบตัวเลช  แบบตัวอักษร หรืออื่นๆ
เผลอๆ บางอย่าง ผมยังจับ ยัดเป็น json อัดไปเลย เพราะไม่มีการ  ฟอเร้นคีย์ หรือ ไพร์มาลี่คีย์ ใน ก้อนช้อมูลนั้น

:'( :'(

infamous

ถ้าให้ผมเลือก เลือกข้อที่ไม่ต้องแยกฟิลด์ครับ
แต่ถ้าต้องการดึง performance กันจริงๆ(100k rows+) ลงเก็บแบบ timestamp ดูครับ :-[
เห็นผลต่างกันเยอะพอสมควร ระหว่าง string(varchar) กับ integer
โดย integer จะเร็วกว่า varchar หรือ string ครับ ในกรณี query เหมือนกัน(index เหมือนกัน)
ทั้งนี้ทั้งนั้นขึ้นอยู่กับงานของเราด้วยครับว่า เหมาะสมกับแบบไหน :P

ข้อดีของเก็บแบบ date/datetime format คือ ใน business logic มันไม่ต้องอะไรมากมายครับ
แต่ถ้าเป็น timestamp เราต้องมาเสียเวลา convert back to date/datetime format อีกทีครับ ซึ่งก็แล้วแต่งานด้วย

ผิดพลาดอย่างไร ต้องขออภัยด้วยครับ

nscyber

แบบที่ 2 ครับยิ่งซอยเยอะเวลาเรียกเงื่อนไขยิ่งเยอะ เก็บทีเดียวเรียกทีเดียว

:-[

insidecom

แนะนำอีกเสียง เก็บแบบที่ 2 format Y-m-d ครับ (date หรือ datetime ก็ได้ แต่เก็บแบบ datetime จะละเอียดกว่า Y-m-d H:i:s)
ตอนนำข้อมูลมาใช้ การจัดเรียงตามวันที่ (sort) ง่ายและเร็ว การแสดงผลอาจจะใช้ PHP Date มาจัดการครับ
แต่ถ้าจะเปลี่ยน date ไปเป็น TimeStamp  ใน PHP ให้ใช้ strtotime(date) เอาครับ

buakaew

Affiliate ไทยจ่ายจริงกินหลายชั้นลึกหลากหลายผลิตภัณฑ์[direct=https://affiliateinthai.blogspot.com/]Affiliate ไทย[/direct]
รีวิว คูปองฟรี Hosting ไทยและเทศ[direct=https://www.hostingdee.com/]รีวิว Hosting[/direct]
ดูดวงออนไลน์ฟรี[direct=https://duduangfree.com/]ดูดวง[/direct]
พระเครื่องออนไลน์[direct=http://www.siampraboran.com/]พระเครื่อง[/direct]


subport

♦ เชี่ยวชาญระบบ Wordpress เป็นพิเศษ | ปรับแต่งและออกแบบธีม |  ปรึกษาฟรี ไม่ต้องเกรงใจ ทักได้ตลอด
♦ โดย [DIRECT=http://bit.ly/2vFvQHP]STOMS[/DIRECT] | โทร.061-569-9591