Manfaat menjadikan database server sql sebagai hanya-baca?

8

Saya menggunakan database pelaporan, yang untuk semua tujuan praktis adalah database hanya-baca. Itu dibuat data dan laporan dinamis dihasilkan dan dilihat pada database ini.

Saya sedang berpikir untuk membuat basis data ini hanya-baca.

Beberapa hal yang ingin saya tanyakan mengenai basis data read-only adalah

  1. Apakah hanya data yang hanya baca? Bisakah kita masih membuat indeks atau tampilan pada basis data ini?
  2. Apa manfaat kinerja menggunakan database hanya-baca? mis. SELECT kueri menggunakan kunci bersama, dll ...
  3. Apakah ada kerugian menggunakan basis data read-only?
  4. Apakah ada praktik terbaik yang harus diikuti, saat menggunakan basis data read-only?
Pelawak
sumber

Jawaban:

16
  1. Anda tidak bisa membuat perubahan skema ketika database hanya dibaca tetapi Anda bisa meletakkan semua tabel pengguna Anda di grup file baru dan menandainya sebagai hanya baca.
  2. Anda dapat mengharapkan manfaat kinerja sederhana dari tidak adanya penguncian.
  3. Pada versi SQL Server sebelum 2012 statistik tidak dapat dibuat atau diperbarui secara otomatis pada basis data hanya baca.
  4. Sebelum membuatnya hanya membaca Anda mungkin juga menghapus semua fragmentasi logis dan membuat kepadatan halaman setinggi mungkin. FILL_FACTORPengaturan non default apa pun tidak akan bermanfaat dalam lingkungan baca-saja. Selain itu, buat / perbarui statistik yang diperkirakan akan berguna untuk SELECTkueri jika pada versi <2012.
Martin Smith
sumber
1 dan 4, ide-ide bagus.
Mark Storey-Smith
9
  1. Seluruh basis data hanya dibaca sehingga Anda tidak dapat menambahkan indeks atau tampilan.
  2. Tidak diperlukan penguncian sehingga tidak ada kunci yang diambil untuk kueri apa pun selain kunci basis data bersama. Jelas berarti bahwa tidak ada pemblokiran yang akan terjadi juga.
  3. Tidak seperti tidak.
  4. Tidak ada yang bisa saya sarankan.
Mark Storey-Smith
sumber