Database saya berukuran sekitar 1gb (sesuai dengan file mdf dari db saya). Server database saya memiliki ram 4gb. Melihat konsumsi memori pada komputer saat aktif, ia duduk di sekitar 85% digunakan (termasuk OS, dll)
Apakah ini berarti bahwa semua aktivitas membaca DB bekerja di memori saja (yaitu seluruh db duduk di memori)? atau apakah masih ada kasus di mana ia harus pergi ke disk?
Jawaban:
Ya, seluruh basis data kemungkinan disimpan dalam memori. Ini akan membersihkan halaman yang kotor ke disk pada interval pos pemeriksaan. Perhatikan bahwa semua pembaruan harus menulis ke log dan menunggu catatan log dikeraskan pada penyimpanan yang tahan lama sebelum melakukan. Makalah tua ini SQL Server 2000 I / O Basics memiliki semua detail yang Anda perlukan dan banyak lagi.
Tetapi Anda tidak perlu menebak, Anda dapat mengukur ini dengan tepat dan melihat apakah itu terjadi atau tidak. Penghitung kinerja yang relevan adalah:
sumber
My database is about 1gb in size (according to the mdf file of my db). My database server has 4gb of ram.
. Jika Anda menginginkan jawaban untukyou don't have to guess, you can measure this exactly
.Seluruh DB (yaitu data) tidak akan disimpan dalam memori (sql server). Setelah memeriksa indeks dan / atau kunci, itu akan mengambil pointer ke tempat dalam file data data yang Anda cari, dan kemungkinan kemudian pergi ke disk untuk mengambilnya. Jika tidak ada kunci atau indeks, harus memindai seluruh tumpukan.
Tergantung pada versi SQL Server yang Anda jalankan, mungkin ada strategi untuk caching data yang digunakan dengan baik untuk meminimalkan pembacaan disk.
Anda BISA mendapatkan dalam-memori DB misalnya database MySql Cluster .... Ini dirancang agar sesuai dengan SELURUH db ke dalam memori di seluruh cluster server untuk ketersediaan tinggi / pemulihan bencana dan pengambilan data yang cepat.
sumber