«query-performance» etiketlenmiş sorular

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

4
Büyük bir sorguyu birden çok küçük sorguyu ayırmak daha mı iyi?
İstenilen sonuçları üretmek için alt tablo deyimleriyle birlikte birkaç tabloyu birleştirmek için gerçekten büyük bir sorguya ihtiyaç duyan durumlar vardır. Benim sorum, birden çok daha küçük sorgu kullanmayı düşünmeliyiz ve mantıksal işlemleri DB'yi birden fazla çağrıda sorgulayarak uygulama katmanına getirmeli miyiz, yoksa hepsini bir arada tutmak daha mı iyi? Örneğin, …

1
PostgreSQL 9.6'da İstenmeyen Nest Loop ve Hash'e Katılın
PostgreSQL 9.6 sorgu planlamasında sorun yaşıyorum. Sorgum şöyle görünüyor: SET role plain_user; SELECT properties.* FROM properties JOIN entries_properties ON properties.id = entries_properties.property_id JOIN structures ON structures.id = entries_properties.entry_id WHERE structures."STRUKTURBERICHT" != '' AND properties."COMPOSITION" LIKE 'Mo%' AND ( properties."NAME" LIKE '%VASP-ase-preopt%' OR properties."CALCULATOR_ID" IN (7,22,25) ) AND properties."TYPE_ID" IN (6) …

3
Sorgu 100x yavaş SQL Server 2014, satır sayısı biriktirme satır suçlu tahmin?
SQL Server 2012'de 800 milisaniyede çalışan ve SQL Server 2014'te yaklaşık 170 saniye süren bir sorgu var . Bunu Row Count Spooloperatör için kötü bir kardinalite tahminine daralttığımı düşünüyorum . Makara operatörleri hakkında biraz okudum (örneğin, burada ve burada ), ancak hala birkaç şeyi anlamada sorun yaşıyorum: Bu sorgu neden …

2
PostgreSQL'de DISTINCT'i nasıl daha hızlı hale getirebilirim?
station_logsPostgreSQL 9.6 veritabanında bir tablo var : Column | Type | ---------------+-----------------------------+ id | bigint | bigserial station_id | integer | not null submitted_at | timestamp without time zone | level_sensor | double precision | Indexes: "station_logs_pkey" PRIMARY KEY, btree (id) "uniq_sid_sat" UNIQUE CONSTRAINT, btree (station_id, submitted_at) Her biri için …

1
SQL Server tarafından yavaş sipariş
Uygulamamda, "dosya" tablosunda arama yapan bir sorgu var. "Dosyalar" tablosu, "f". "Oluşturuldu" ile bölünmüştür (tablo tanımına bakın ve müşteri 19 için "26 milyon satır (" f "." Cid = 19) vardır. Burada bu sorguyu yaparsanız nokta: SELECT "f"."id" AS "FileId" , "f"."name" AS "FileName" , "f"."year" AS "Fileyear" , "f"."cid" …

3
Kullanıcı tanımlı skaler işlevi paralelliği engellemeyecek şekilde taklit
Sorgu için belirli bir planı kullanmak için SQL Server kandırmak için bir yol olup olmadığını görmeye çalışıyorum. 1. Çevre Farklı süreçler arasında paylaşılan bazı verileriniz olduğunu düşünün. Diyelim ki çok yer kaplayan bazı deney sonuçlarımız var. Ardından, her işlem için hangi yıl / ay deneme sonucunu kullanmak istediğimizi biliyoruz. if …

3
Çok yavaş basit bir katılma sorgusu
Basit DB yapısı (çevrimiçi bir forum için): CREATE TABLE users ( id integer NOT NULL PRIMARY KEY, username text ); CREATE INDEX ON users (username); CREATE TABLE posts ( id integer NOT NULL PRIMARY KEY, thread_id integer NOT NULL REFERENCES threads (id), user_id integer NOT NULL REFERENCES users (id), date …

2
Paralel olarak çalışmasını sağlamak için bu sorguyu yeniden düzenleyebilir miyim?
Sunucumuzda - çalıştırmak için yaklaşık 3 saat süren bir sorgu var ve paralel işleme avantajı yok. (yaklaşık 1,15 milyon kayıt dbo.Deidentified, 300 kayıt dbo.NamesMultiWord). Sunucu 8 çekirdeğe erişebilir. UPDATE dbo.Deidentified WITH (TABLOCK) SET IndexedXml = dbo.ReplaceMultiWord(IndexedXml), DE461 = dbo.ReplaceMultiWord(DE461), DE87 = dbo.ReplaceMultiWord(DE87), DE15 = dbo.ReplaceMultiWord(DE15) WHERE InProcess = 1; ve …

1
Skaler UDF'yi bir sorguda yalnızca bir kez değerlendirilmeye nasıl zorlayabilirim?
Skaler UDF sonucuna karşı filtre gereken bir sorgu var. Sorgu tek bir deyim olarak gönderilmelidir (böylece UDF sonucunu yerel bir değişkene atayamam) ve bir TVF kullanamıyorum. Tüm planın seri olarak çalıştırılmasını zorlayan skaler UDF'lerin neden olduğu performans sorunlarının farkındayım, aşırı bellek hibeleri, kardinalite tahmini sorunları ve satır içi çizgi eksikliği. …

1
postgres_fdw performansı yavaş
Bir yabancıyla ilgili aşağıdaki sorgu 3,2 milyon satırda yürütmek için yaklaşık 5 saniye sürer: SELECT x."IncidentTypeCode", COUNT(x."IncidentTypeCode") FROM "IntterraNearRealTimeUnitReflexes300sForeign" x WHERE x."IncidentDateTime" >= '05/01/2016' GROUP BY x."IncidentTypeCode" ORDER BY 1; Aynı sorguyu normal tabloda yürüttüğümde, .6 saniye içinde döner. Uygulama planları oldukça farklıdır: Normal Tablo Sort (cost=226861.20..226861.21 rows=4 width=4) (actual …

1
Bir sorguyu önce bir dizinde, sonra da başka bir dizinde arama yapacak şekilde en iyileştirme
Her biri zaman alanları (ortalama julian tarihi için mjd) ve coğrafya pozisyonları (GeoPoint, spacial) ile uydu verilerinden iki set ölçümüm var ve iki set arasındaki tesadüfleri arıyorum, böylece zamanları bir eşikle eşleşiyor 3 saat (veya .125 gün) ve birbirlerinin 200 km'lik mesafeleri. Hem mjd alanları hem de tablolar ve uzamsal …

2
SQL'deki iki büyük veri kümesini karşılaştırmanın etkili bir yolu
Şu anda, benzersiz StoreKey/ProductKeykombinasyonlar içeren iki veri kümesini karşılaştırıyorum . İlk veri seti, StoreKey/ProductKeyOcak 2012 ile Mayıs 2014 sonu arasında benzersiz satış kombinasyonlarına sahiptir (sonuç = 450K satır). 2. veri seti StoreKey/ProductKeysatışlar için Haziran 2014'ten bugüne kadar benzersiz kombinasyonlara sahiptir (sonuç = 190K satır). StoreKey/ProductKey2nci sette olan ancak 1nci sette …

4
CXPACKET ile başa çıkmak bekliyor - paralellik için maliyet eşiğini ayarlama
Bir izlem benim gelince önceki soruya bir Sharepoint sitesi giderme perf üzerine ben CXPACKET beklediği hakkında bir şeyler yapabileceğini, ben merak ediyorum. Diz-sarsıntı çözümünün MAXDOP'u 1'e ayarlayarak tüm paralellikleri kapatmak olduğunu biliyorum - kulağa kötü bir fikir gibi geliyor. Ancak başka bir fikir, paralellik devreye girmeden önce maliyet eşiğini artırmaktır. …

3
Toplam sorgu neden GROUP BY deyimiyle bir tane olmadan önemli ölçüde daha hızlı?
Neden bir toplu sorgunun bir GROUP BYcümle ile neden birden çok daha hızlı çalıştığını merak ediyorum . Örneğin, bu sorgunun çalışması yaklaşık 10 saniye sürer SELECT MIN(CreatedDate) FROM MyTable WHERE SomeIndexedValue = 1 Bu bir saniyeden az sürerken SELECT MIN(CreatedDate) FROM MyTable WHERE SomeIndexedValue = 1 GROUP BY CreatedDate CreatedDateBu …


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.