Index ของตารางในฐานข้อมูล MySQL คืออะไร

SQL Knowledge ทั้ง sql มาตรฐาน หลักการออกแบบฐานข้อมูล ความสัมพันธ์ของ ตาราง Mysql , PGSQL, Oracle, MSSQL

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

ภาพประจำตัวสมาชิก
ewqolf
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 621
ลงทะเบียนเมื่อ: 14/11/2022 9:26 am

Index ของตารางในฐานข้อมูล MySQL คืออะไร

โพสต์ที่ยังไม่ได้อ่าน โดย ewqolf »

การที่เราจะสร้าง Database ในภาษา SQL ขึ้นมานั้นเราจำเป็นจำต้องคำนึงถึงการ Select ข้อมูลต่างๆมาใช้งานซึ่งถ้าข้อมูลนั้นมีจำนวนที่น้อยการ Select ข้อมูลที่เลือกขึ้นมาเราก็ไม่มีปัญหา ถ้าหากว่าเรามีข้อมูลใน Database จำนวนมากการที่เราจะ Select ข้อมูลมาได้เราจะต้องไล่ดูข้อมูลมาตั้งแต่แรกจนกว่าเราจะเราจะเจอข้อมูลที่เราต้องการ ซึ่งมันเสียเวลาในการหาข้อมูลมากยิ่งข้อมูลเราอยู่ไกลเท่าไหร่ และข้อมูลยิ่งเยอะเท่าไหร่ก็จะใช้เวลาในการเลือกข้อมูลมาก

โดยสมมุติว่าเรามีข้อมูลทั้งหมด 1000 ชุด ก็คือ 1-1000 ถ้าหากว่าเราต้องการข้อมูลในชุดที่ 960 ตัว Select ข้อมูลของเราจะทำการไล่ดูข้อมูลของเราตั้งแต่ 1 จนถึงเจอข้อมูลที่เราต้องการ ก็จะใช้เวลาในการทำงานมาก ตามชุดข้อมูลที่เราเรียกใช้งาน ซึ่งเราจึงจะต้องมีการใช้ Index Index นั้นเป็นเป็นการเรียงข้อมูลตามดัชนีข้อมูลของเราที่ใช้งานประจำ เพราะโดยปกติ Database นั้นจะเรียงข้อมูลตาม Primary key ซึ่งจะไล่จากน้อยไปมาก และถ้าหากว่าเรามีการใช้งานข้อมูลชุดอื่นที่บ่อย เราควรที่จะเอาข้อมูลนั้นเป็น Index เนื่องจากว่าเราใช้งานการหาจากส่วนนั้นบ่อย เช่น ตาราง User มีคอลั่ม {UserID,Username,Password} ซึ่งโดยปกติที่ Database ที่ไม่มีการ Index นั้นจะเรียงด้วย UserID ซึ่งเป็น Primary key ซึ่งการเรียกใช้งานข้อมูล User นั้นโดยปกติเราจะไม่ค่อยเรียกด้วย UserID โดยส่วนมากเราจะเรียกด้วย Username ซึ่งเราจึงต้องทำให้ Username นั้นเป็น Index ของตารางนี้ เพียงเท่านี้ Username ของเราก็จะเป็น Index ซึ่งก็จะเรียกตามดัชนีซึ่งก็คือตัวอักษรจาก A-Z เป็นต้น ซึ่งเมื่อเราต้องการหาข้อมูลเช่นเราต้องการหา michael เราจะข้ามไปหาที่ตัว M เลยก็จะใช้เวลาในการหาข้อมูลนั้นน้อยมาก
index table.png
index table.png (20.11 KiB) Viewed 1272 times
การทำ Index ข้อมูลจะทำให้ข้อมูลใน Database ของเรานั้นสามารถทำการค้นหาข้อมูลที่เราต้องการหาได้ง่ายด้วยการเรียงข้อมูลใหม่ด้วยข้อมูลที่เราใช้เรียกใช้งานบ่อยจึงทำให้มีความรวดเร็วในการทำงานค้นหา
อ้างอิง
  • https://kb.hostatom.com/content/1611/
  • https://en.wikipedia.org/wiki/Database_index
  • https://www.w3schools.com/sql/sql_create_index.asp
คนจะตายเมื่อถูกฆ่า...ขอบคุณครับ
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 88