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

Mitos Kinerja SQL Server yang Berbahaya dan Menyebar

Di antara perjalanan, presentasi, dan moderasi Tanya Jawab, saya berbicara dengan banyak orang tentang berbagai masalah kinerja SQL Server. Baru-baru ini, saya memiliki beberapa interaksi di mana orang memercayai hal-hal yang sama sekali tidak benar, atau hanya benar dalam rangkaian kasus penggunaan yang sangat sempit. Namun desakan mereka bahwa hal-hal ini benar secara universal sangat meresahkan.

Jadi, saya pikir saya akan memulai seri baru untuk membantu memadamkan beberapa mitos ini. Bukan untuk menunjuk orang dan membuktikan bahwa mereka salah, tetapi untuk menghentikan penyebaran. Saat mereka membuat pernyataan menyeluruh ini di tempat kerja, atau di twitter, atau di forum, jika tidak dicentang, mereka dapat "mengajar" pengguna yang mudah terpengaruh atau kurang berpengalaman.

Perhatikan bahwa saya tidak bermaksud untuk membuktikan bahwa hal-hal ini tidak pernah benar, karena beberapa pasti bisa benar dalam skenario yang terisolasi atau dibuat-buat . Tujuan saya hanyalah untuk menunjukkan setidaknya satu kasus di mana itu tidak benar; semoga ini bisa mulai mengubah pola pikir yang keras kepala ini.

Berikut adalah beberapa "fakta" yang baru saja diberitahukan kepada saya, tanpa urutan tertentu:

  • "Indeks yang dikelompokkan selalu lebih baik daripada indeks yang tidak dikelompokkan"
  • "SQL Dinamis membuat kueri saya lambat"
  • "PIVOT lebih cepat dari SUM(CASE)"
  • "NULL selalu menyebabkan masalah performa yang buruk"
  • "Rencana eksekusi tidak berguna kecuali indeks yang hilang"
  • "NOLOCK tidak apa-apa karena banyak orang yang menggunakannya"
  • "Memperbesar kolom varchar/nvarchar boleh saja"

Saat saya menulis setiap posting, saya akan memperbarui halaman ini dengan menautkan item yang sesuai dalam daftar di atas.

Apakah Anda memiliki mitos kinerja yang disebarkan sebagai fakta mutlak, tetapi Anda curiga (atau bahkan tahu) bahwa itu tidak selalu benar? Beri tahu saya di komentar di bawah, di twitter, atau di [email protected].


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara membandingkan 2 baris dari tabel yang sama (SQL Server)?

  2. SQL Server:Kegagalan tautan komunikasi Diperlukan SSL (gagal menerima paket)

  3. SQL Server dan Kerentanan Spectre/Meltdown

  4. Bagaimana Anda membuat pencarian teks lengkap wildcard terkemuka berfungsi di SQL Server?

  5. Tambahkan klausa WHERE ke SQL secara dinamis / terprogram