Saya menjalankan impor data (menggunakan C # / Linq), dan tentu saja saya mencoba mengoptimalkan kueri saya sebanyak mungkin. Untuk tujuan ini saya menjalankan pelacakan di DB menggunakan SQL Server Profiler, dengan jejak saya difilter oleh nama login SQL saya (ini adalah nama yang secara unik dapat dikaitkan dengan proses impor data saya).
Anehnya, sebagian besar pernyataan SQL saya sangat cepat :) - sangat sedikit kueri yang bahkan melampaui tanda 1ms. Tetapi di antara semua pertanyaan saya terdapat beberapa baris di mana Kelas Peristiwa adalah "Login Audit" atau "Logout Audit" - dan durasi "Logout Audit" dapat mencapai satu menit!
Apakah ini ada hubungannya dengan fakta bahwa saya menggunakan transaksi dalam impor saya? Jika demikian, adakah cara untuk menemukan kueri mana yang paling berpengaruh sehingga saya dapat membersihkannya?
sumber
Jawaban:
Jika saya tidak salah ingat, durasi Logout Audit adalah jumlah waktu koneksi dibuka. Misalnya tidak ada hubungannya dengan kecepatan perintah - hanya jumlah waktu login 'login'.
sumber
Reads
tanggapan terhadap pengukuran waktu?Reads
kolom tidak mewakili baris yang dikembalikan oleh kueri tetapi # dari disk logis terbaca. Kueri yang bahkan tidak mengembalikan apa pun dapat memindai seluruh tabel berisi 1 juta rekaman untuk mencari tidak ada hasil yang akan menghasilkan # pembacaan yang sangat besar. Jadi # pembacaan tidak benar-benar berkorelasi secara alami dengan # kueri.Peristiwa Login / Logout terkait dengan pengaturan / penghancuran. IIRC waktu adalah 'telah masuk untuk waktu' sebagai lawan dari durasi pemrosesan seperti dengan peristiwa log lainnya.
Secara umum, seseorang menyembunyikan acara ini kecuali Anda mencurigai ada masalah dengan manajemen kumpulan koneksi, dll.
Waktu mentah untuk batch harus cukup untuk mendiagnosis waktu yang dilakukan aktivitas aktual termasuk dampak dari setiap transaksi, dll.
sumber
Kelas peristiwa Logout Audit menunjukkan bahwa pengguna telah keluar dari (log off) Microsoft SQL Server. Acara di kelas ini dipicu oleh koneksi baru atau oleh koneksi yang digunakan kembali dari kumpulan koneksi.
ini adalah total waktu koneksi login, termasuk waktu idle, jadi itu tidak menunjukkan masalah kinerja. Juga membuat profil login / logout sangat tidak mungkin menyebabkan masalah performa. Anda akan lebih baik mencari kueri yang berkinerja buruk, mungkin kueri yang berjalan lama.
Untuk info lebih lanjut saya sarankan https://msdn.microsoft.com/en-us/library/ms175827.aspx :)
sumber
Juga perlu diperhatikan karena dalam jawaban ini bahwa Login / Logout Audit mungkin hanya berarti koneksi sedang digunakan kembali dari / dikembalikan ke kumpulan koneksi.
sumber