«optimization» etiketlenmiş sorular

Bir veritabanı bağlamında, optimizasyon, etkin bir fiziksel yürütme planının seçildiği sorgu iyileştirici sürecini ifade eder.

6
Dizin gerekli veya gerekli olup olmadığı nasıl belirlenir
MS SQL veritabanımızda bir otomatik indeks aracı çalıştırıyorum (indeks istatistik tablolarına bakan bir komut dosyasını değiştirdim - Otomatik Otomatik İndeksleme ). İstatistiklerden şimdi oluşturması gereken dizinler için bir önerilerim var. Düzenleme: Yukarıda açıklanan Dizinler, eğer mevcutlarsa veritabanı motorunun dizinler için ne kullanacağını söyleyen DMV'lerden bilgi alır ve komut dosyaları En …

4
Bir dizi zaman damgası aralığında sorguları optimize etme (iki sütun)
PostgreSQL 9.1'i Ubuntu 12.04'te kullanıyorum. Bir süre içinde kayıtları seçmem gerekiyor: masamın time_limitsiki timestampalanı ve bir integerözelliği var. Gerçek tablomda bu sorguya dahil olmayan ilave sütunlar var. create table ( start_date_time timestamp, end_date_time timestamp, id_phi integer, primary key(start_date_time, end_date_time,id_phi); Bu tablo yaklaşık 2M kayıt içermektedir. Aşağıdaki gibi sorular çok fazla …

3
MySQL'de görünümler ne zaman kullanılır?
Analizde kullanılmak üzere birden fazla birleşimden tablolar oluştururken, görünümleri yeni bir tablo oluşturmak yerine kullanmak ne zaman tercih edilir? Görünümleri kullanmayı tercih etmemin bir nedeni, veritabanı şemasının yöneticimiz tarafından Ruby içinden geliştirildiğinden ve Ruby'ye aşina olmamamdır. Tabloların oluşturulmasını talep edebilirim, ancak ek bir adım gerektirir ve yeni bağlantılar geliştirirken / …

4
PostgreSQL'de görünümler performans açısından zararlı mı?
Aşağıdakiler, db design hakkında bir kitaptan bir alıntıdır (Veri Tabanı Tasarımına Başlarken ISBN: 0-7645-7490-6): Görünümleri kullanma tehlikesi, görünümü çok büyük bir tablonun çok küçük bir bölümünü okumayı bekleyen bir görünüme karşı filtrelemektir. Görünümdeki sorgu yürütmeyi tamamladıktan sonra görünüme karşı herhangi bir filtreleme uygulandığından, filtreleme görünüm içinde yapılmalıdır. Görünümler genellikle geliştirme …

3
WHERE IN kullanarak silme işlemi sırasında beklenmeyen taramalar
Aşağıdaki gibi bir sorgu var: DELETE FROM tblFEStatsBrowsers WHERE BrowserID NOT IN ( SELECT DISTINCT BrowserID FROM tblFEStatsPaperHits WITH (NOLOCK) WHERE BrowserID IS NOT NULL ) tblFEStatsBrowsers'in 553 satırı var. tblFEStatsPaperHits 47.974.301 satıra sahiptir. tblFEStatsBrowsers: CREATE TABLE [dbo].[tblFEStatsBrowsers]( [BrowserID] [smallint] IDENTITY(1,1) NOT NULL, [Browser] [varchar](50) NOT NULL, [Name] [varchar](40) NOT …

2
TOP bir uygulama planını nasıl (ve neden) etkiler?
Optimize etmeye çalıştığım orta derecede karmaşık bir sorgu için, TOP nmaddeyi kaldırmanın yürütme planını değiştirdiğini fark ettim . Bir sorgu TOP nveritabanı altyapısını içerdiğinde , TOPmaddeyi yok sayarak sorguyu çalıştıracağını ve daha sonra sadece istenen sonucu n sayısı için belirlenen sonucu küçülteceğini tahmin edecektim . Grafik yürütme planı, durumun - …

1
JOIN yan tümcesinde yapı KULLANIMI bazı durumlarda optimizasyon engelleri oluşturabilir mi?
Sorgu maddesindekiUSING yapının (yerine ON) belirli durumlarda optimizasyon engelleri getirebileceği dikkatimi çekti .FROMSELECT Bu anahtar kelimeyi kastediyorum: SEÇ * Bir B KULLANIMI KATILIN (a_id) Sadece daha karmaşık durumlarda. Bağlam: Bu yorumu için bu soruya . Bunu çok kullanıyorum ve şimdiye kadar hiçbir şey fark etmedim. Daha fazla bilgi için etkiyi …

5
Mantıksal operatörler VEYA VEYA NEREDE koşulların koşul ve şartlarında
Bu iki ifadeyi inceleyelim: IF (CONDITION 1) OR (CONDITION 2) ... IF (CONDITION 3) AND (CONDITION 4) ... Eğer CONDITION 1DİR TRUE, olacak CONDITION 2denetlenebilir? Eğer CONDITION 3DİR FALSE, olacak CONDITION 4denetlenebilir? Peki ya koşullar WHERE: SQL Server motoru bir koşuldaki tüm koşulları optimize ediyor WHEREmu? Programcılar , SQL Server …

2
Postgres sorgusunu büyük bir IN ile optimize etme
Bu sorgu, takip ettiğiniz kişilerin oluşturduğu yayınların bir listesini alır. Sınırsız sayıda kişiyi takip edebilirsiniz, ancak çoğu kişi <1000 kişiyi takip ediyor. Bu sorgu tarzıyla, bariz optimizasyon "Post"kimlikleri önbelleğe almak olacaktır , fakat ne yazık ki şu an bunun için zamanım yok. EXPLAIN ANALYZE SELECT "Post"."id", "Post"."actionId", "Post"."commentCount", ... FROM …

4
Benzersiz bir endekste (aynı) 1000'in tahmin edilen tahmini maliyeti bu planlarda neden farklı?
Aşağıdaki sorgularda her iki uygulama planının da benzersiz bir endekste 1000 deneme gerçekleştireceği tahmin edilmektedir. Arayışlar, aynı kaynak tabloda sıralı bir tarama tarafından yönlendirilir, bu nedenle aynı sırayla aynı değerleri aramaya başlamalıdır. Her iki iç içe döngü var <NestedLoops Optimized="false" WithOrderedPrefetch="true"> Bu görevin neden ilk planda 0.172434'e, ikincide 3.01702'ye mal …

6
SELECT DISTINCT TOP N sorgum neden bütün tabloyu tarıyor?
SELECT DISTINCT TOP NSql Server sorgu en iyi duruma getiricisi tarafından kötü optimize edilmiş gibi görünen birkaç sorguları çalıştırın . Önemsiz bir örnek düşünerek başlayalım: iki alternatif değeri olan bir milyon satırlık tablo. Ben kullanacağız GetNums verilerini oluşturmak için fonksiyonu: DROP TABLE IF EXISTS X_2_DISTINCT_VALUES; CREATE TABLE X_2_DISTINCT_VALUES (PK INT …

3
SQL Server A <> B'yi A <B VEYA A> B'ye böler, B deterministik değilse garip sonuçlar verir.
SQL Server ile ilginç bir sorunla karşılaştık. Aşağıdaki repro örneğini göz önünde bulundurun: CREATE TABLE #test (s_guid uniqueidentifier PRIMARY KEY); INSERT INTO #test (s_guid) VALUES ('7E28EFF8-A80A-45E4-BFE0-C13989D69618'); SELECT s_guid FROM #test WHERE s_guid = '7E28EFF8-A80A-45E4-BFE0-C13989D69618' AND s_guid &lt;&gt; NEWID(); DROP TABLE #test; keman Lütfen bir anlığına s_guid &lt;&gt; NEWID()durumun tamamen işe …

2
LIKE operatörü için Kardinalite Tahmini (Yerel Değişkenler)
LIKEİşleci bilinmeyen senaryolar için tüm optimizasyonlarda kullanırken hem eski hem de yeni CE'lerin% 9'luk bir tahmin kullandığı izlenimi altındaydım (ilgili istatistiklerin mevcut olduğunu ve sorgu iyileştiricinin seçicilik tahminlerine başvurmak zorunda olmadığını varsayarak). Kredi veritabanına karşı aşağıdaki sorgu yürütülürken, farklı CE'ler altında farklı tahminler alıyorum. Yeni CE kapsamında beklediğim 900 satırlık …

1
Bu sorgu neden bir dizin biriktirme kullanmıyor?
Optimize Edici'nin davranışını daha iyi anlamak ve indeks biriktiricileri etrafındaki limitleri anlamak için bu soruyu soruyorum. 1 - 10000 arasında bir tamsayıyı bir yığına koyduğumu varsayalım: CREATE TABLE X_10000 (ID INT NOT NULL); truncate table X_10000; INSERT INTO X_10000 WITH (TABLOCK) SELECT TOP 10000 ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) …

1
SQL: 2008 standardında belirtilen bir CTE'nin (WITH sorgusu) optimizasyon çit davranışı var mı? Eğer öyleyse, nerede?
WITHSunucunun filtreleri CTE sorgularına itmesine, CTE'nin dışına ortak ifadeleri çekmesine izin verilmeyen bir optimizasyon perdesi gibi davranan sorgulara (ortak tablo ifadeleri veya CTE'ler) sık sık atıfta bulunuyorum. SQL standartlarının gerektirdiği bir davranış olması. CTE'ler kesinlikle PostgreSQL'de bir optimizasyon perdesidir ... ama bu standart mı, yoksa sadece uygulama detayı mı gerekli? …

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.