Pertanyaan yang diberi tag «execution-plan»

Strategi yang dipilih oleh pengoptimal permintaan untuk memproses permintaan.

1
Mengapa melakukan penghapusan pada tampilan yang dipartisi menghasilkan Sisipan Indeks Berkelompok?
Saya memiliki tampilan yang dipartisi yang memiliki pemicu sisipan di bawah ini (partisi mans buruk). Ketika saya melakukan HAPUS, saya mendapatkan paket permintaan di bawah ini: delete from factproductprice where pricedate = '20170725' Pemicu pada tampilan: ALTER TRIGGER [dbo].[factProductPriceDelete] ON [dbo].[FactProductPrice] INSTEAD OF DELETE AS BEGIN IF @@ROWCOUNT = 0 …


1
Kolom yang dihitung terus-menerus menyebabkan pemindaian
Mengubah kolom reguler ke kolom yang dihitung terus-menerus menyebabkan kueri ini tidak dapat melakukan pencarian indeks. Mengapa? Diuji pada beberapa versi SQL Server, termasuk 2016 SP1 CU1. Repros Dengan kolom yang dihitung Dengan kolom reguler Masalahnya adalah dengan table1, col7. Tabel dan kueri adalah versi parsial (dan disederhanakan) dari dokumen …

3
Rencana Eksekusi BUKAN menggunakan INDEX, Ini menggunakan Table Scan
Saya tahu ketika harus menggunakan indeks atau scan tabel, SQL Server menggunakan statistik untuk melihat mana yang lebih baik. Saya punya meja dengan 20 juta baris. Saya memiliki indeks pada (SnapshotKey, Measure) dan permintaan ini: select Measure, SnapshotKey, MeasureBand from t1 where Measure = 'FinanceFICOScore' group by Measure, SnapshotKey, MeasureBand …



3
Banyak "FETCH API_CURSOR0000 ..." di sp_WhoIsActive (SQL Server 2008 R2)
Saya memiliki situasi yang aneh. Menggunakan sp_whoisactivesaya bisa melihat ini: Oke, dengan kueri ini, saya dapat melihat apa yang memicu (apakah kata ini ada dalam bahasa Inggris?) Itu: SELECT c.session_id, c.properties, c.creation_time, c.is_open, t.text FROM sys.dm_exec_cursors (SPID) c --0 for all cursors running CROSS APPLY sys.dm_exec_sql_text (c.sql_handle) t hasil: itu …

2
HAPUS sederhana, tetapi rencana eksekusi rumit
Ketika saya menjalankan penghapusan ini: DELETE FROM ETLHeaders WHERE ETLHeaderID < 32465870 ... menghapus 39.157 baris. Itu harus sederhana karena menghapus pada ETLHeaderID yang merupakan indeks dan kunci utama berkerumun. Tetapi (sesuai dengan rencana eksekusi) tampaknya mencapai 361.190 baris dan menggunakan indeks lainnya. Tabel memang memiliki bidang dengan tipe data …

1
Apakah SQL Sentry Plan Explorer menghitung pembacaan dalam UDF?
Saya punya pertanyaan seperti ini: select dbo.fn_complexFunction(t.id) from mytable t Dalam SQL Sentry Plan Explorer, saya perhatikan saya harus menjalankan Dapatkan Perkiraan Paket di SQL Sentry untuk membuat Rencana Kueri termasuk UDF. Saat menjalankan 'Dapatkan Rencana Aktual', tidak terlihat bahwa pembacaan logis dan metrik lainnya mencakup operasi yang terjadi di …

2
Bagaimana cara mendapatkan rencana eksekusi untuk tampilan?
Saya punya skema dengan sejumlah tampilan. Saya perlu memeriksa rencana eksekusi untuk memastikan indeks yang sesuai sudah ada dan digunakan. Bagaimana saya melakukan ini? Saya lebih suka tidak perlu menyalin dan menempelkan output dari show create view <viewname>ke explain, terutama karena beberapa pandangan dibangun di atas pandangan lain dan ini …


2
Pertanyaan yang sangat mirip, kinerja yang sangat berbeda
Saya punya dua pertanyaan yang sangat mirip Kueri pertama: SELECT count(*) FROM Audits a JOIN AuditRelatedIds ari ON a.Id = ari.AuditId WHERE ari.RelatedId = '1DD87CF1-286B-409A-8C60-3FFEC394FDB1' and a.TargetTypeId IN (1,2,3,4,5,6,7,8,9, 11,12,13,14,15,16,17,18,19, 21,22,23,24,25,26,27,28,29,30, 31,32,33,34,35,36,37,38,39, 41,42,43,44,45,46,47,48,49, 51,52,53,54,55,56,57,58,59, 61,62,63,64,65,66,67,68,69, 71,72,73,74,75,76,77,78,79) Hasil: 267479 Rencanakan: https://www.brentozar.com/pastetheplan/?id=BJWTtILyS Kueri kedua: SELECT count(*) FROM Audits a JOIN AuditRelatedIds ari …

1
"Peringatan: Operasi menyebabkan I / O residu" versus pencarian kunci
Saya telah melihat peringatan ini dalam paket eksekusi SQL Server 2017: Peringatan: Operasi menyebabkan sisa IO [sic]. Jumlah aktual baris yang dibaca adalah (3.321.318), tetapi jumlah baris yang dikembalikan adalah 40. Berikut ini cuplikan dari SQLSentry PlanExplorer: Untuk meningkatkan kode, saya telah menambahkan indeks non-cluster, sehingga SQL Server bisa sampai …

2
Apa yang menyebabkan penggunaan CPU tinggi dari kueri / rencana eksekusi ini?
Saya memiliki Database Azure SQL yang mendukung aplikasi .NET Core API. Menjelajahi laporan ikhtisar kinerja di Portal Azure menunjukkan bahwa sebagian besar beban (penggunaan DTU) pada server database saya berasal dari CPU, dan satu permintaan khusus: Seperti yang dapat kita lihat, kueri 3780 bertanggung jawab untuk hampir semua penggunaan CPU …

1
Pencegahan kebuntuan MERGE
Di salah satu database kami, kami memiliki tabel yang secara intensif diakses secara bersamaan oleh banyak utas. Utas memperbarui atau menyisipkan baris MERGE. Ada juga utas yang kadang-kadang menghapus baris, sehingga data tabel sangat fluktuatif. Utas yang melakukan upert terkadang mengalami kebuntuan. Masalahnya terlihat mirip dengan yang dijelaskan dalam pertanyaan …

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.