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

Kekurangan MARS (Multiple Active Result Sets)?

Tampaknya ada setidaknya dua kelemahan (potensial) yang diketahui (dari ini (1) Blog tim ):

  1. Jelas ini dapat menyebabkan masalah potensial untuk sistem lama apa pun yang tidak dirancang untuk berjalan melawan desain yang diaktifkan MARS - "kode yang ada dioptimalkan untuk dijalankan di dunia non-MARS mungkin menunjukkan sedikit penurunan kinerja saat dijalankan tanpa dimodifikasi dengan MARS"

  2. “Dengan MARS Anda dapat mengirim beberapa kumpulan multi-pernyataan ke server. Server akan menyisipkan eksekusi batch tersebut, yang berarti bahwa jika batch mengubah status server melalui pernyataan SET atau USE, misalnya, atau menggunakan pernyataan manajemen transaksi TSQL (BEGIN TRAN, COMMIT, ROLLBACK), Anda dan server dapat menjadi bingung tentang apa niat Anda yang sebenarnya.”

Saya belum mencoba desain yang diaktifkan MARS, tetapi saya hampir melakukannya pada proyek saya saat ini. Kami memiliki sedikit masalah dengan operasi kueri yang bersaing (dan terkadang bergantung) (seperti malas memuat data konfigurasi dari database yang sama dengan yang dijalankan oleh kumpulan data aktif).

Ada informasi lebih lanjut di situs MSDN (2) di sini

[ (1) https://web.archive.org/web/20190911155929/https://blogs.msdn.microsoft.com/sqlnativeclient/2006/09/27/using- mars-with-sql-native-client/ ]
[ (2) http://msdn.microsoft. com/en-us/library/ms131686.aspx ]



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Perbandingan Data SQL - Beberapa tabel hilang

  2. USERT di SSIS

  3. Pencarian Fuzzy SQL Server dengan Persentase kecocokan

  4. ADO.net SqlTransaction meningkatkan kinerja

  5. SQL dinamis untuk menghasilkan nama kolom?