จะ query ข้อมูล กับตารางที่วันที่แยก ปี เดือน วัน ออกจากกันยังไง

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderators: mindphp, ผู้ดูแลกระดาน

reassfq

จะ query ข้อมูล กับตารางที่วันที่แยก ปี เดือน วัน ออกจากกันยังไง

Post by reassfq »

คือตารางนี้มันจะแยก วันที่แต่ละอันออกจากกัน เพื่อเอามาทำ index น่ะครับ เวลาผมต้องการหาข้อมูล เช่น จากวันที่ 2011/05/21 ถึง 2011/06/15 แบบนี้ มันจะทำไม่ได้เหมือนปกติอ่ะครับ


จะมีลองใช้

where concat_ws('-',year,month,day) between '2011/05/21' and '2011/06/15/'

แบบนี้มันจะสามารถค้นหาได้เหมือน field วันที่ปกติทั่วไป แต่วันมันจะไม่ใช้ index เลย เนื่องจากมันต้องใช้ฟังชันมารวมฟิลทั้ง 3 อันทั้งตารางก่อน ซึ่งตารางผมมีประมาณ 3 ล้านกว่า record มันจะช้ามาก

ถ้าใช้เป็นแบบ
where
year = '2011'
and month between 05 and 06
and day between 21 and 15
แบบนี้ก็เกือบจะได้แล้วครับ แถมใช้ index ด้วย แต่เห็นมั้ยครับ ตรง
day between 21 and 15
ค้นหาตั้งแต่วันที่ 21 ถึง 15 ซึ่งมันผิดตรรกะ ครับ ก็เลยค้นหาไม่ได้ เลขทางซ้ายต้องน้อยกว่าทางขวา
ใครพอรู้มั้งครับ ว่า table โครงสร้างแบบนี้จะค้นหายังไง ปวดหัวจริงๆ
Last edited by mindphp on 05/06/2011 8:22 pm, edited 1 time in total.
Reason: โพสภาพอัพโหลดมาที่เว็บบอร์ดเลยครับ อย่าใช้เว็บฝากไฟล์


reassfq

Re: จะ query ข้อมูล กับตารางที่วันที่แยก ปี เดือน วัน ออกจากกันยังไง

Post by reassfq »

โอ๊ะ โทษทีครับ ตอนแรกยังขึ้นอยู่เลย


คือว่าทั้งฟิล year, month ,day มันเป็น index ด้วย ถ้าใช้ฟังชัน concat แล้วมันจะไม่ใช้ index เลยหาวิธีอยู่ ครับ

User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 25121
Joined: 22/09/2008 6:18 pm
Contact:

Re: จะ query ข้อมูล กับตารางที่วันที่แยก ปี เดือน วัน ออกจากกันยังไง

Post by mindphp »

reassfq wrote:โอ๊ะ โทษทีครับ ตอนแรกยังขึ้นอยู่เลย


คือว่าทั้งฟิล year, month ,day มันเป็น index ด้วย ถ้าใช้ฟังชัน concat แล้วมันจะไม่ใช้ index เลยหาวิธีอยู่ ครับ
โพสภาพอัพโหลดมาที่เว็บบอร์ดโดยตรง อย่าใช้เว็บฝากไฟล์
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042

Post Reply
  • Similar Topics
    Replies
    Views
    Last post

Return to “Programming - PHP”

Who is online

Users browsing this forum: Google Adsense [Bot] and 8 guests