Panjang Indeks MySQL VARCHAR
Jadual MySQL mempunyai panjang indeks maksimum 767 bait. Ini adalah setiap lajur, jadi indeks komposit tidak boleh melebihi 767 bait secara keseluruhan. Walau bagaimanapun, terdapat beberapa pengecualian kepada peraturan ini:
Dalam kes khusus anda:
Indeks yang anda buat tidak digunakan kerana ia melebihi panjang indeks maksimum 767 bait. Ini kerana MySQL menganggap 3 bait setiap aksara UTF-8 dan 512 aksara * 3 bait/aksara = 1536 bait.
Untuk menyelesaikan isu ini, anda boleh:
Kurangkan panjang indeks kepada 255 aksara atau kurang.
ALTER TABLE products ADD INDEX (name(255));
Dayakan pilihan konfigurasi innodb_large_prefix dan gunakan format baris DINAMIK atau COMPRESSED.
SET innodb_large_prefix = ON; ALTER TABLE products ROW_FORMAT=COMPRESSED;
Tambahan Nota:
Atas ialah kandungan terperinci Mengapa Indeks MySQL VARCHAR(512) Saya Tidak Digunakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!