Kapan sebaiknya Anda menerapkan indeks ke database? [duplikat]

Kemungkinan Duplikat:
Kolom apa yang umumnya menghasilkan indeks yang baik?

Saya bekerja dengan database mySQL (dengan PHP) dan bertanya-tanya tentang indeks database yang digunakan untuk mempercepat kueri.

Haruskah kita menggunakan indeks sejak awal, meskipun hanya ada beberapa baris dalam database, atau haruskah indeks hanya diterapkan jika database bertambah besar dan menjadi lambat?


person Jay    schedule 03.03.2011    source sumber


Jawaban (4)


Saya akan menggunakannya sejak awal jika Anda berencana untuk mengembangkan meja ke keadaan itu. Ini akan membuat aplikasi Anda cepat dan mencegah DBMS terhambat karena harus menerapkan indeks di kemudian hari.

person rayman86    schedule 03.03.2011

Anda akan ingin mendesain meja Anda sesuai dengan perkiraan ukuran meja Anda akan bertambah. Namun pengindeksan memerlukan lebih banyak ruang disk karena pada dasarnya membuat salinan bagian tabel yang diindeks.

Bergantung pada batasan waktu Anda, saya akan melanjutkan dan menambahkan indeks sekarang untuk mencegah lebih banyak pekerjaan di masa depan.

Seperti halnya proyek apa pun, Anda ingin model data Anda berfungsi dengan baik sebelum Anda menyadari bahwa Anda harus mengubah seluruh basis kode karena perubahan basis data.

person It Grunt    schedule 03.03.2011

Anda harus menerapkan indeks ke database setelah menganalisis jenis kueri yang akan Anda lakukan, bukan berdasarkan jumlah baris dalam tabel.

Tambahkan indeks dari awal tetapi ingat juga untuk meninjau kembali analisis Anda dan jangan takut untuk menambah atau menghapus indeks sesuai kebutuhan; itu bukanlah sesuatu yang hanya bisa Anda dapatkan satu kali saja.

person Tony    schedule 03.03.2011
comment
Anda benar sekali mengenai jenis pertanyaan dan transaksi yang mungkin menyebabkan kemacetan. - person It Grunt; 04.03.2011

Jangan optimalkan terlalu dini. Bagaimanapun, tambahkan indeks ke kolom pencarian umum. Ingatlah bahwa setiap penyisipan memerlukan pembaruan indeks, jadi tempatkan indeks Anda dengan bijak

person qza    schedule 03.03.2011