Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Apakah pengurutan kolom memengaruhi kinerja di Microsoft SQL Server 2012?

Urutan kolom dalam tabel akan berdampak sangat kecil pada kinerja, dibandingkan dengan dampak kinerja desain database Anda (entitas, atribut, dan hubungan), desain transaksi, dan desain kueri Anda.

Untuk mengetahui apakah perbedaannya tidak dapat diabaikan, Anda benar-benar perlu menyiapkan beberapa pengujian, dan membandingkan hasilnya.

Biasanya, saya meletakkan kunci utama sebagai kolom pertama, lalu kunci asing, dan kemudian kunci alami dan kolom yang sering diakses. Saya biasanya meletakkan string yang lebih panjang di akhir baris. Tapi ini belum tentu pengoptimalan kinerja, sebanyak itu adalah preferensi gaya yang saya gunakan untuk kenyamanan.

Urutan kolom dapat berdampak pada ukuran baris di SQL Server, ketika sejumlah besar kolom dalam satu baris tidak dapat dibatalkan dan sebagian besar kolom tersebut berisi NULL. SQL Server (seperti Oracle) memiliki optimasi di mana tidak ada ruang yang disediakan untuk kolom yang berisi nilai NULL DI AKHIR baris. Beberapa ruang disediakan untuk setiap kolom di baris, hingga nilai non-NULL terakhir di baris.

Kesimpulannya adalah jika Anda memiliki banyak kolom nullable, Anda ingin kolom yang paling sering tidak NULL SEBELUM kolom yang paling sering NULL.

CATATAN:Perlu diingat bahwa SQL Server memesan kolom dalam tabel terlebih dahulu berdasarkan apakah kolom tersebut memiliki panjang tetap atau panjang variabel. Semua kolom panjang tetap disimpan terlebih dahulu, kemudian diikuti oleh semua kolom panjang variabel. Dalam kumpulan kolom tersebut (tetap dan variabel), kolom disimpan dalam urutan yang ditentukan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. java.net.SocketException:Pipa rusak

  2. Pencarian MySQL dan mengganti beberapa teks di bidang

  3. Pengganti PEAR:MDB2 di PHP 5.3

  4. panggilan ke fungsi anggota execute() pada non-objek

  5. Konkurensi yang optimis dengan Entity Framework dan MySQL