6
ฉันจะเพิ่มดัชนีลงในตาราง MySQL ได้อย่างไร
ฉันมีตาราง MySQL ที่มีขนาดใหญ่มากพร้อมข้อมูลประมาณ 150,000 แถว ขณะนี้เมื่อฉันลองและเรียกใช้ SELECT * FROM table WHERE id = '1'; รหัสทำงานได้ดีเนื่องจากฟิลด์ ID เป็นดัชนีหลัก อย่างไรก็ตามสำหรับการพัฒนาล่าสุดของโครงการฉันต้องค้นหาฐานข้อมูลตามฟิลด์อื่น ตัวอย่างเช่น: SELECT * FROM table WHERE product_id = '1'; ฟิลด์นี้ไม่ได้จัดทำดัชนีไว้ก่อนหน้านี้ อย่างไรก็ตามฉันได้เพิ่มเข้าไปแล้วดังนั้นตอนนี้ mysql จะสร้างดัชนีฟิลด์ แต่เมื่อฉันพยายามเรียกใช้แบบสอบถามข้างต้นมันจะทำงานช้ามาก คำค้นหาอธิบายเปิดเผยว่าไม่มีดัชนีสำหรับฟิลด์ product_id เมื่อฉันได้เพิ่มไปแล้วและด้วยเหตุนี้แบบสอบถามจึงใช้เวลาตั้งแต่ 20 นาทีถึง 30 นาทีในการส่งคืนแถวเดียว ผลการสำรวจอย่างสมบูรณ์ของฉันคือ: | id | select_type | table | type | possible_keys| …
407
mysql
optimization
indexing
row