ความแตกต่างระหว่าง Primary Key และ Index ของ MySql
ลองดูคำจำกัดความของข้อมูลที่เกี่ยวข้องกับดัชนีของฐานข้อมูลกันก่อน
- NOT NULL หมายถึงข้อมูลที่ต้องกำหนดค่าเสมอ (NULL ใช้แทนค่าที่ไม่ทราบข้อมูล ไม่ใช่ไม่มีข้อมูล)
- UNIQUE หมายถึงข้อมูลที่มีได้เพียงหนึ่งเดียว ไม่สามารถมีค่าซ้ำกันได้ ฐานข้อมูลส่วนใหญ่ จะกำหนดให้เป็น NOT NULL ด้วย
- Index หมายถึงข้อมูลที่จะถูกจัดทำดัชนี เพื่อให้การเข้าถึงข้อมูล เช่นการเรียงลำดับและการค้นหา ทำได้เร็วขึ้น ยกตัวอย่างง่ายๆเช่น ที่คั่นหนังสือ ทำให้เราสามารถเข้าถึงหน้าที่ต้องการได้เร็วกว่าการเปิดหาทีละหน้า
- Primary Key คือข้อมูลที่เป็น UNIQUE, NOT NULL และ เป็น Index ด้วย ใช้เพื่อประโยชน์ในการค้นหาเช่นเดียวกับ Index และ ใช้สำหรับ เชื่อมต่อไปยังตารางอื่นๆเพื่อกำหนดความสัมพันธ์ระหว่างตาราง
Primary Key | Index | Index |
---|---|---|
1 | AAA | กกก |
2 | AAA | ขขข |
3 | BBB | คคค |