Jawabannya tergantung pada mesin yang Anda gunakan:
- MyISAM - menambahkan id ke indeks dapat dan mungkin akan membantu
- InnoDB - Kunci Utama sudah menjadi bagian dari setiap indeks sekunder, karena innodb menyimpan baris dalam BTREE yang diurutkan berdasarkan kunci utama dan indeks perlu primer untuk menunjuk ke baris yang sebenarnya - dalam hal itu menambahkannya berlebihan jika terakhir dalam indeks ( tetapi melakukannya tidak akan menambahkannya dua kali, jadi seharusnya tidak memperburuk keadaan). Dalam beberapa kasus, Anda mungkin ingin menambahkannya sebagai not-last, atau Anda memiliki multicolumn primary dan Anda menambahkan beberapa kolom ke indeks Anda dalam urutan yang berbeda - seharusnya tidak ada masalah dengan itu, innodb akan menambahkan kolom utama yang tersisa ke indeks itu, tetapi dapat menggunakan yang ditambahkan sebelumnya tanpa menduplikasinya)
Jadi jawabannya:
- Di InnoDB tidak perlu, Di MyISAM ada baiknya jika Anda benar-benar menggunakan pengurutan itu, jika Anda tidak menggunakannya, menambahkannya hanya membuat indeks itu lebih besar.
- Urutan kolom dalam definisi tabel dan urutan dalam indeks adalah hal yang terpisah, jadi boleh saja
- Ya, indeks itu tampaknya sangat bagus - tetapi Anda dapat memeriksanya sendiri menggunakan JELASKAN , ada kemungkinan kinerja yang lebih baik lagi - "mencakup indeks ", tapi itu ada biayanya, jadi kecuali kuerinya kritis dan berkinerja buruk, itu mungkin berlebihan.