Pertanyaan yang diberi tag «optimization»

Dalam konteks database, optimisasi mengacu pada proses optimizer kueri memilih rencana eksekusi fisik yang efisien.


1
Apa Aturan Menentukan Ketika SQL Server Menggunakan CTE sebagai "Pagar Pengoptimalan"?
Beberapa waktu yang lalu, Brent Ozar menerbitkan sebuah pos yang merinci beberapa perbedaan antara SQL Server dan PostgreSQL: Dua Perbedaan Penting Antara SQL Server dan PostgreSQL Poin pertama ("CTE adalah pagar optimasi") menarik perhatian saya, karena jelas bahwa dalam contoh yang diberikan, SQL Server menggabungkan CTE dan kueri utama bersama-sama …

2
Mengapa ini lebih cepat dan aman untuk digunakan? (DI MANA huruf pertama ada dalam alfabet)
Singkatnya, kami memperbarui tabel kecil orang dengan nilai dari tabel orang yang sangat besar. Dalam pengujian baru-baru ini, pembaruan ini membutuhkan waktu sekitar 5 menit untuk dijalankan. Kami menemukan apa yang tampaknya seperti optimasi paling konyol yang mungkin, yang tampaknya bekerja dengan sempurna! Permintaan yang sama sekarang berjalan dalam waktu …


1
Apakah B-Tree kembali seimbang selama penghapusan data dari tabel SQL Server dengan indeks berkerumun?
Saya punya tabel dalam database SQL Server dengan indeks berkerumun pada kunci utama. Tabel memiliki 1 juta baris. Jika saya menghapus 10K baris dari tabel, apakah indeks bisa direstrukturisasi selama operasi penghapusan dilakukan? Operasi penghapusan adalah bagian dari prosedur tersimpan. Pada suatu waktu, lebih dari satu klien dapat menjalankan prosedur …

2
Bagaimana cara menentukan biaya / manfaat dari penambahan indeks?
Menurut Craig Ringer : Meskipun biasanya merupakan ide yang baik untuk membuat indeks pada (atau termasuk) kolom kunci asing di sisi referensi Anda, itu tidak diperlukan. Setiap indeks yang Anda tambahkan memperlambat operasi DML sedikit, sehingga Anda membayar biaya kinerja pada setiap INSERT, UPDATEatau DELETE. Jika indeks jarang digunakan, mungkin …


1
Jenis konversi dalam ekspresi dapat memengaruhi “CardinalityEstimate” dalam pilihan paket kueri?
Saya memelihara database arsip yang menyimpan data historis dalam tampilan yang dipartisi. Kolom partisi adalah datetime. Setiap tabel di bawah tampilan menyimpan satu bulan data. Kami membatasi acara di setiap tabel dengan tanda centang centang pada kolom datetime. Ini memungkinkan pengoptimal untuk membatasi tabel yang dicari untuk pertanyaan yang memfilter …


2
Apakah PostgreSQL mengoptimalkan penambahan kolom dengan non-NULL DEFAULTs?
Saat menambahkan NOT NULLkolom dengan DEFAULTnilai - apakah PostgreSQL mengoptimalkan operasi ini? Jika tabel memiliki n baris, kolom alter-table-add-add yang tidak dioptimalkan akan menghasilkan dan menulis nilai default - yang bisa sangat menyakitkan, jelas. Dengan optimalisasi, DB akan secara instan membuat kolom baru, menyimpan hanya satu salinan dari nilai default …

3
Bergabung sendiri pada kunci utama
Pertimbangkan permintaan ini yang terdiri dari Ngabungan-sendiri: select t1.* from [Table] as t1 join [Table] as t2 on t1.Id = t2.Id -- ... join [Table] as tN on t1.Id = tN.Id Ini menghasilkan rencana eksekusi dengan N scan indeks berkerumun dan gabungan bergabung N-1. Jujur, saya tidak melihat alasan untuk …

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 …

5
Mendapatkan pemindaian meskipun saya berharap mencari
Saya perlu mengoptimalkan SELECTpernyataan tetapi SQL Server selalu melakukan pemindaian indeks daripada mencari. Ini adalah permintaan yang, tentu saja, dalam prosedur tersimpan: CREATE PROCEDURE dbo.something @Status INT = NULL, @IsUserGotAnActiveDirectoryUser BIT = NULL AS SELECT [IdNumber], [Code], [Status], [Sex], [FirstName], [LastName], [Profession], [BirthDate], [HireDate], [ActiveDirectoryUser] FROM Employee WHERE (@Status IS …


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.