Setelah membaca Pertanyaan dan Jawaban dari situs web ini tentang indeks, sebuah pertanyaan muncul di benak saya.
Bagaimana jika, seseorang menggunakan tabel dimensi waktu dengan tingkat granularitas yang lebih rendah sebagai harinya. Di mana seseorang harus meletakkan indeks?
Randy Melder dalam pertanyaan: Apa artinya "indeks" pada RDBMS? berkata:
Pikirkan indeks sebagai "daftar isi" ... yang merupakan daftar petunjuk pointer ke posisi dalam file, alias offset
Dalam hal dimensi waktu, sebagian besar penelitian data dapat dilakukan baik untuk hari tertentu, minggu tertentu, bulan tertentu atau kuartal tertentu jika tabel waktu menyimpan sepanjang hari untuk tahun yang unik .
Pertanyaan saya adalah: Haruskah seseorang menaruh indeks untuk semua bidang itu?
Seharusnya hari itu unik, jadi untuk hari ini saya sangat memahami penggunaan indeks. Tetapi id seminggu akan memiliki 7 kejadian , id sebulan akan memiliki 30/31 kejadian , seperempat id akan memiliki lebih dari 120 kejadian .
- Haruskah seseorang masih meletakkan indeks untuk bidang-bidang itu?
- Apakah ini masih berguna?
Saya menanyakan itu kepada Anda karena dalam pertanyaan yang sama, David Spillett berkata:
Menambahkan terlalu banyak indeks tentu saja dapat menjadi optimasi yang buruk, karena ruang tambahan yang digunakan untuk menyimpan indeks (dan beban-IO untuk mempertahankannya jika DB Anda melihat banyak operasi penulisan) mungkin merupakan masalah yang lebih buruk daripada kueri baca yang sedikit kurang optimal , jadi jangan berlebihan.
Jadi, apa pertimbangan terbaik untuk kasus dimensi waktu?