Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Database yang dapat menangani>500 juta baris

MSSQL dapat menangani banyak baris dengan baik. Waktu kueri sepenuhnya bergantung pada lebih banyak faktor daripada sekadar jumlah baris sederhana.

Misalnya, ini akan bergantung pada:

  1. berapa banyak yang bergabung dengan kueri tersebut
  2. seberapa baik indeks Anda disiapkan
  3. berapa banyak ram di mesin
  4. kecepatan dan jumlah prosesor
  5. jenis dan kecepatan spindel hard drive
  6. ukuran baris/jumlah data yang dikembalikan dalam kueri
  7. Kecepatan / latensi antarmuka jaringan

Sangat mudah untuk memiliki tabel kecil (kurang dari 10.000 baris) yang akan memakan waktu beberapa menit untuk mengeksekusi kueri. Misalnya, menggunakan banyak gabungan, fungsi dalam klausa where, dan indeks nol pada prosesor Atom dengan total ram 512MB.;)

Dibutuhkan sedikit lebih banyak pekerjaan untuk memastikan semua indeks dan hubungan kunci asing Anda baik, bahwa kueri Anda dioptimalkan untuk menghilangkan panggilan fungsi yang tidak perlu dan hanya mengembalikan data yang benar-benar Anda butuhkan. Selain itu, Anda memerlukan perangkat keras yang cepat.

Semuanya bermuara pada berapa banyak uang yang ingin Anda belanjakan, kualitas tim pengembang, dan ukuran baris data yang Anda tangani.

PERBARUI Memperbarui karena perubahan dalam pertanyaan.

Jumlah informasi di sini masih belum cukup untuk memberikan jawaban dunia nyata. Anda hanya perlu mengujinya dan menyesuaikan desain basis data dan perangkat keras Anda seperlunya.

Misalnya, saya dapat dengan mudah memiliki 1 miliar baris dalam tabel pada mesin dengan spesifikasi tersebut dan menjalankan kueri "select top(1) id from tableA (nolock)" dan mendapatkan jawaban dalam milidetik. Dengan cara yang sama, Anda dapat menjalankan kueri "select * from tablea" dan itu membutuhkan waktu karena meskipun kueri dieksekusi dengan cepat, mentransfer semua data itu melalui kabel membutuhkan waktu.

Intinya adalah, Anda harus menguji. Artinya, menyiapkan server, membuat beberapa tabel, dan mengisinya. Maka Anda harus melalui penyetelan kinerja untuk mendapatkan kueri dan indeks Anda dengan benar. Sebagai bagian dari penyetelan kinerja, Anda akan mengungkap tidak hanya bagaimana kueri perlu direstrukturisasi tetapi juga bagian mesin apa yang mungkin perlu diganti (yaitu:disk, lebih banyak ram, cpu, dll) berdasarkan kunci dan jenis tunggu.

Saya sangat menyarankan Anda menyewa (atau mengontrak) satu atau dua DBA untuk melakukan ini untuk Anda.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menambahkan petunjuk kueri saat memanggil Fungsi Bernilai Tabel

  2. Apa perbedaan antara Scope_Identity(), Identity(), @@Identity, dan Ident_Current()?

  3. Apa itu WAKTU STATISTIK di SQL Server?

  4. SQL Server di Linux

  5. Bagaimana Fungsi SPACE() Bekerja di SQL Server (T-SQL)