สอบถามเกี่ยวกับการทำค้นหาใน database อย่างไรให้ไว ระดับล้านแถวถึง....

เรื่องมีอยู่ว่าผมได้คิดอยากทำโปรเจคตัวนึงซึ่งต้องใช้การเปรียบเทียบข้อมูลทางตรรก เป็นล้านๆกรณีถึงแสนล้านกรณี

หมายเหตุ ... อย่าเพิ่งคิดว่าผมบ้านะครับ T-T มันคือโปรเจคที่ผมนั่งสรรหามาทำน่ะครับที่เกิดจากไอเดียอันน้อยนิดที่อยากทำไรอย่างนึงที่บอกไม่ได้ครับ แล้วจะนำไปพัฒนาการจัดการฐานข้อมูลในกรณีเจอการค้นหาข้อมูลแบบขนาดใหญ่ ผมอาจจะยังไม่เก่งเรื่อง database ยังไม่รู้ว่าขนาดมันรับได้มากแค่ไหน ปกติก็เขียนเว็บก็เพิ่มข้อมูลไม่เกินหลักล้าน ก็ใช้ความรู้พื้นฐานที่เข้าใจ สำหรับอะไรที่ผมถามออกไปแล้วดูเวอร์รบกวนผู้รู้ช่วยแนะนำผมทีนะครับ ขอแนะนำแบบให้ความรู้แล้วเอามาพัฒนาให้ดีขึ้น


หลักการคร่าวๆ(ยกตัวอย่างนะครับแต่ของจริงเป็นอีกอย่างแต่แนวคิดตามนี้ครับ)
ส่วนของฐานข้อมูล
- ย้อนกลับไปเรื่องตรรกศาสตร์ที่เราๆเคยเรียนกันตอน ม.ปลาย ที่เป็น TF FT แบบช่องตารางอย่าง XYZ
- ในฐานข้อมูลจะเก็บเหตุการณ์ลงในแต่ละแถวเป็น TTTTTTFFTFFT ว่ากันไป มีจำนวนตัวอักษรแต่ละแถวตั้งแต่ 4-200 ตัวอักษร หรือมากกว่านั้นถึงหลักหมื่น
- ข้อมูลในฐานข้อมูลจะตายตัวไม่มีการเพิ่ม ลบ หรือแก้ไข ลงแค่ครั้งเดียวไว้ใช้เปรียบเทียบเท่านั้น
- ข้อมูลเหตุการณ์ทั้งหมด จะมีประมาณ 1 ล้าน ถึง หลัก แสนล้าน ตีไปประมาณ แสนล้านแถว(ปัจจุบันยังไม่กล้าเอาถึงขนาดนนี้ครับกลัวคอมพังสูงสุดแค่ 5 แสนเองครับ มารอถามในนี้เป็นแนวทางถ้าทำได้ก็จะลองดูครับ)

ส่วนของการทำงานของโปรแกรม
- จะมีการส่งข้อความที่จะเปรียบเทียบเข้าไปเช่น TTTTTTFFTFFT ที่จะเหมือนในแถวที่อยู่ใน Database ไม่มีการเทียบด้วยการขึ้นต้นแต่เปรียบเทียบทั้งชุดต้องเหมือนทั้งหมด
- จากนั้นจะส่งตัวเลขลำดับที่ข้อมูลนั้นอยู่เช่น TTTTTTFFTFFT อยู่แถวที่ 4,000,000 ก็ส่งเลขออกมาเป็น 4000000

คำถาม
- ผมเห็นหลายกระทู้คุยๆกันบอกว่าให้ทำ Index จะทำให้ค้นหาไวขึ้น ถ้าผมทำ index ทั้งหมดเลย เวลาทำการเปรียบเทียบ"ค้นหา"ข้อมูลเป็นล้านๆ มันจะอืดไหมครับมันถึงระดับ หมื่นล้านจริงครับ แต่ผมยังไม่รู้ว่า DB มันจะรับไหวไหมเลยทำแค่ไม่กี่กรณี ผมใช้ mysql ครับ
- สำหรับท่านใดที่มีวิธีการจัดทำรูปแบบที่ดีอยากแนะนำผมขอความกรณาด้วยนะครับ

พอดีผมจะทำระบบคำนวนเกี่ยวกับตรรกน่ะครับ แต่ยังหาวิธีที่จะส่งตัวเลขที่ข้อความนั้นๆอยู่ได้อย่างไร ประมาณว่าตรรกนั้นอยู่ลำดับที่เท่าไร ซึ่งถ้าใช้วิธีดั้งเดิม select แล้วเปรียบเทียบกันทีละแถว มันอืดมากกกกก

ขอบคุณมากๆนะครับ อย่าไปตกใจตรงหมื่นๆล้านแถวล่ะครับ(แต่ถามจริง 55)
แก้ไขข้อความเมื่อ
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่