«index» etiketlenmiş sorular

Disk alanı ve daha yavaş ekler / güncelleştirmeler pahasına sorgu hızını artırabilecek bir veritabanı yapısı. Bir veya daha fazla sütunun bir kopyasını sıralanmış olarak depolar, ancak daha hızlı erişim sağlamak için verileri farklı şekilde yapılandırır.

3
Yüksek seçicilik ve düşük seçicilik alanlarına sahip bileşik bir dizin düzeninde alan sırası
3 milyardan fazla satır içeren bir SQL Server tablo var. Bir benim sorgu son derece uzun zaman alır, bu yüzden onu optimize düşünüyorum. Sorgu şöyle görünür: SELECT [Enroll_Date] ,Count(*) AS [Record #] ,Count(Distinct UserID) AS [User #] FROM UserTable GROUP BY [Enroll_Date] [Enroll_Date], 50'den az olası değere sahip düşük seçiciliğe …

1
SEÇENEK (TAVSİYE) endeksi SEEK kullanılmıyor mu?
(Soru SO'dan taşındı) Kümelenmiş dizin 2 sütun içeren bir tablo (kukla veri) var: Şimdi bu iki sorguyu çalıştırıyorum: declare @productid int =1 , @priceid int = 1 SELECT productid, t.priceID FROM Transactions AS t WHERE (productID = @productid OR @productid IS NULL) AND (priceid = @priceid OR @priceid IS NULL) …

1
Neden dizin arama doğru sayıda satır tahmin edebilir ve sıralama operatörü edemiyor?
Yüklemede bir işlevi kullanan bir sorgu var, böyle bir şey: commentType = 'EL' AND commentDateTime >= DATEADD(month,datediff(month,0,getdate()) - 13,0) 40K satır olan commentType üzerinde filtrelenmiş bir dizin var ve sorguyu çalıştırdığınızda, dizin arama için tahmini satır sayısı çok doğru (yaklaşık 11 K), ama sonraki adım (sıralama operatörü) tamamen istatistikleri ve …


1
Gerçekten meşgul bir tabloda dizin oluşturma
insert\selectHer seferinde çok fazla masamız var ( her 100 saniyede bir 100 güncelleme ekleniyor). Bir saniye bile kilitlenemeyen bir tablo üzerinde dizin oluşturmanın en iyi yolu nedir? Dizini oluşturursam, istekleri kilitleyeceğinden eminim ve bunu yapamam. 1 milyondan fazla sıra içeren büyük bir masa.

1
Farklı tablolardan ORDER BY ile TOP 1 seçildiğinde dizinlenmiş görünüm nasıl ayarlanır
Aşağıdaki sorgu iki kümelenmiş dizin taraması olmadan gerçekleştirir, böylece aşağıdaki senaryoda dizinli bir görünüm kurmak için mücadele ediyorum. Ne zaman bu sorgu için bir dizin görünümü oluşturmak ve sonra kullanmak, ben koymak herhangi bir dizin yoksay gibi görünüyor: -- +++ THE QUERY THAT I WANT TO IMPROVE PERFORMANCE-WISE +++ SELECT …


3
Bir dizin mi yoksa iki dizin mi?
Veritabanımdaki bir tabloda aşağıdaki dizin oluşturuldu: CREATE INDEX [idx_index1] on [table1] (col1, col2, col3) Sunucu aşağıdaki 'eksik' dizini öneriyor: CREATE INDEX [idx_index2] on [table1] (col1, col2) INCLUDE (col3, col4, col5, col6....) Korunması gereken yeni bir dizin oluşturmak yerine, mevcut dizin tanımını önerilen sütunları içerecek şekilde değiştirmek bana mantıklı geliyor. Col1 …

2
MySQL başka bir tabloya katılırken dizin kullanmıyor
İki tablo var, ilk tablo bir CMS içindeki tüm makaleler / blog gönderileri içerir. Bu makalelerin bazıları bir dergide de görünebilir, bu durumda dergiye özgü bilgiler içeren başka bir tablo ile yabancı anahtar ilişkisi vardır. Aşağıda, bu iki tablo için tablo oluşturma sözdiziminin basitleştirilmiş bir sürümü bulunmaktadır ve bazı temel …

2
Günlük% 99 dizin indekslenmesi nasıl önlenir
100.000 oyuncu için yüksek puanlı bir masam var, bu da günde 2 kez oyuncu başına bir rekorla giriyor. Günün sonunda, bu tablodaki dizinler için dizin parçalanması% 99'dur. Ayarları değiştirerek bunu önlemenin bir yolu var mı? CREATE TABLE HighScore( [id] [int] IDENTITY(1,1) NOT NULL, [user] [int] NULL, [player] [int] NULL, [round] …


2
Bir veritabanı bir işlemdeki dizinlerini hangi noktada günceller?
Hem bir dizin hem de bir işlem dahil ekler olaylar dizisini anlamaya çalışıyorum. Örneğin, Oracle belgeleri şunları belirtir: Veri yüklemeden önce bir veya daha fazla dizin oluşturduysanız (veya varsa), her satır eklendiğinde veritabanı her dizini güncellemelidir. Ancak, bir işlem oluşturur, beş satır ekler ve sonra taahhüt verirsem ne olur? Dizinler …

2
Kullanılmayan Dizinlere İlişkin En İyi Uygulamalar
Bu sorguya dayanarak, toplam okumaların düşük bir miktarını (0 veya 0, 1 veya 2 gibi çok yakın) ve yüksek veya orta miktarda kullanıcı güncellemelerini (bu sorgu ile ekler veya silmeyi bulamadım) görürsem büyük bir satır sayısı, teorik olarak dizin kaldırmak gerekir . SELECT DISTINCT OBJECT_NAME(s.[object_id]) AS ObjectName , p.rows TableRows …

2
MySQL'de NULL değerleri olan sütunlar için dizinler nasıl tasarlanır?
40 milyon girişli bir veritabanım var ve aşağıdaki WHEREfıkra ile sorguları çalıştırmak istiyorum ... WHERE `POP1` IS NOT NULL && `VT`='ABC' && (`SOURCE`='HOME') && (`alt` RLIKE '^[AaCcGgTt]$') && (`ref` RLIKE '^[AaCcGgTt]$') && (`AA` RLIKE '^[AaCcGgTt]$') && (`ref` = `AA` || `alt` = `AA`) LIMIT 10 ; POP1aynı zamanda NULL olabilen …
11 mysql  index 

2
LIMIT ile yavaş ORDER BY
Bu sorguyu var: SELECT * FROM location WHERE to_tsvector('simple',unaccent2("city")) @@ to_tsquery('simple',unaccent2('wroclaw')) order by displaycount Bundan memnunum: "Sort (cost=3842.56..3847.12 rows=1826 width=123) (actual time=1.915..2.084 rows=1307 loops=1)" " Sort Key: displaycount" " Sort Method: quicksort Memory: 206kB" " -> Bitmap Heap Scan on location (cost=34.40..3743.64 rows=1826 width=123) (actual time=0.788..1.208 rows=1307 loops=1)" " Recheck …

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.