«query-performance» etiketlenmiş sorular

Veritabanı sorgularının performansını ve / veya verimliliğini artırma ile ilgili sorular için.



6
Pencere işlevlerini kullanarak tarih aralığı haddeleme toplamı
Bir tarih aralığında bir yuvarlanma toplamı hesaplamam gerekiyor. Örnek olarak, AdventureWorks örnek veritabanını kullanarak, aşağıdaki varsayımsal sözdizimi tam olarak ihtiyacım olanı yapar: SELECT TH.ProductID, TH.TransactionDate, TH.ActualCost, RollingSum45 = SUM(TH.ActualCost) OVER ( PARTITION BY TH.ProductID ORDER BY TH.TransactionDate RANGE BETWEEN INTERVAL 45 DAY PRECEDING AND CURRENT ROW) FROM Production.TransactionHistory AS TH …

6
“En son karşılık gelen satır” ı nasıl verimli bir şekilde alabilirim?
Çok yaygın olması gereken bir sorgu şablonuna sahibim, ancak bunun için nasıl verimli bir sorgu yazacağımı bilmiyorum. Başka bir tablonun satırlarının "en sonra çıkmadığı son tarih" e karşılık gelen bir tablonun satırlarına bakmak istiyorum. inventoryBelirli bir günde sahip olduğum envanteri temsil eden bir masam var . date | good | …

5
Neden “Geçici iş yükleri için optimize et” şeklinde SQL Server seçeneğini kullanmayayım?
Bu gibi Kimberly Tripp tarafından SQL Server planı önbelleğe alma ile ilgili bazı harika makaleler okudum: http://www.sqlskills.com/blogs/kimberly/plan-cache-and-optimizing-for-adhoc-workloads/ Neden "geçici iş yükleri için optimize et" seçeneği bile mevcut? Bu her zaman açık olmamalı mı? Geliştiriciler geçici SQL kullanıyor olsun veya olmasın, neden bu seçeneği (SQL 2008+) destekleyen her durumda etkin hale …

6
TOP 1 eklemek neden performansı önemli ölçüde kötüleştiriyor?
Oldukça basit bir sorgu var SELECT TOP 1 dc.DOCUMENT_ID, dc.COPIES, dc.REQUESTOR, dc.D_ID, cj.FILE_NUMBER FROM DOCUMENT_QUEUE dc JOIN CORRESPONDENCE_JOURNAL cj ON dc.DOCUMENT_ID = cj.DOCUMENT_ID WHERE dc.QUEUE_DATE <= GETDATE() AND dc.PRINT_LOCATION = 2 ORDER BY cj.FILE_NUMBER Bu bana korkunç bir performans kazandırıyor (bitmesini beklemekten asla sıkılmadığı gibi). Sorgu planı şöyle görünür: Ancak, …

3
ve UAT sunucularındaki yürütme planlarındaki fark
Neden aynı sorgunun UAT (3 sn'de çalışır) vs PROD (23 sn'de çalışır) çalıştırılmasında bu kadar büyük bir fark olacağını bilmek istiyorum. Hem UAT hem de PROD, tam olarak veri ve dizinlere sahiptir. SORGU: set statistics io on; set statistics time on; SELECT CONF_NO, 'DE', 'Duplicate Email Address ''' + RTRIM(EMAIL_ADDRESS) …

2
Postgres 9.2'deki work_mem ve shared_buffers'ın arttırılması sorguları önemli ölçüde yavaşlatıyor
RHEL 6.3, 16 GB RAM'e sahip 8 çekirdekli bir makinede çalışan bir PostgreSQL 9.2 örneğine sahibim. Sunucu bu veritabanına tahsis edilmiştir. Varsayılan postgresql.conf dosyasının bellek ayarları konusunda oldukça tutucu olduğu göz önüne alındığında, Postgres'in daha fazla bellek kullanmasına izin vermenin iyi bir fikir olduğunu düşündüm. Sürpriz için, wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Server adresindeki tavsiyeye …

2
PostgreSQL'i okuma performansı için yapılandırma
Sistemimiz çok fazla veri yazar (bir tür Büyük Veri sistemi). Yazma performansı ihtiyaçlarımız için yeterince iyi ancak okuma performansı gerçekten çok yavaş. Birincil anahtar (kısıtlama) yapısı tüm tablolarımız için aynıdır: timestamp(Timestamp) ; index(smallint) ; key(integer). Bir tabloda milyonlarca satır, hatta milyarlarca satır bulunabilir ve okuma isteği genellikle belirli bir süre …

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 - …



3
220 milyon satırlık tablodaki sorguları nasıl hızlandırabilirim (9 gig veri)?
Sorun: Üyelerin uyumluluk veya eşleşme için birbirlerini değerlendirebilecekleri bir sosyal sitemiz var. Bu user_match_ratingstablo 220 milyondan fazla satır içeriyor (9 gig veri veya indekslerde yaklaşık 20 gig). Bu tabloya karşı sorgular rutin olarak slow.log'da gösterilir (eşik> 2 saniye) ve sistemde en sık kaydedilen yavaş sorgudur: Query_time: 3 Lock_time: 0 Rows_sent: …

5
Hiçbir veride değişiklik olmadığı GÜNCELLEME performansı
Bir varsa UPDATE(veri güncellenmiş durumda zaten olduğu için) fiilen herhangi bir veri değişmez deyimi. WHEREGüncelleştirmeyi önlemek için maddeye bir kontrol koymanın herhangi bir performans avantajı var mı ? Örneğin, aşağıdakilerde UPDATE 1 ve UPDATE 2 arasında yürütme hızında herhangi bir fark olur: CREATE TABLE MyTable (ID int PRIMARY KEY, Value …

1
Tarama neden bu yüklem için arama yapmaktan daha hızlı?
Beklenmeyen olarak tanımlayacağım bir sorgu performansı sorunu oluşturmayı başardım. İnternete odaklanmış bir cevap arıyorum. Makinemde, aşağıdaki sorgu kümelenmiş bir dizin taraması yapar ve yaklaşık 6.8 saniye CPU süresi alır: SELECT ID1, ID2 FROM two_col_key_test WITH (FORCESCAN) WHERE ID1 NOT IN ( N'1', N'2',N'3', N'4', N'5', N'6', N'7', N'8', N'9', N'10', …

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.