Ini hanya masalah MySQL -
MySQL memiliki mesin yang berbeda - MyISAM, InnoDB, Memory...
MySQL memiliki batasan berbeda pada jumlah ruang yang dapat Anda gunakan untuk tentukan indeks pada kolom - untuk MyISAM adalah 1.000 byte; ini 767 untuk InnoDB
. Dan tipe data kolom tersebut penting - untuk VARCHAR
, itu 3x jadi indeks pada VARCHAR(100)
akan membutuhkan 300 byte tersebut (karena 100 karakter * 3 =300).
Untuk mengakomodasi beberapa pengindeksan saat Anda mencapai nilai tertinggi, Anda dapat menentukan indeks terkait dengan bagian dari tipe data kolom:
CREATE INDEX example_idx ON YOUR_TABLE(your_column(50))
Dengan asumsi bahwa your_column
adalah VARCHAR(100)
, indeks pada contoh di atas hanya akan berada pada 50 karakter pertama. Mencari data di luar karakter ke-50 tidak akan dapat menggunakan indeks.