«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.

2
“Bitmap yığın taraması” ve “bitmap dizin taraması” nı anlama
Yanlış anlamalarımı aşağıdaki örnekle açıklamaya çalışacağım. Anlamadığım temellerini ait Bitmap Heap Scan Node. SELECT customerid, username FROM customers WHERE customerid < 1000 AND username <'user100';Planı şunun olduğu sorguyu düşünün : Bitmap Heap Scan on customers (cost=25.76..61.62 rows=10 width=13) (actual time=0.077..0.077 rows=2 loops=1) Recheck Cond: (((username)::text < 'user100'::text) AND (customerid < …
36 postgresql  index 





2
Dizin yürütmeyi daha hızlı yapmıyor ve bazı durumlarda sorguyu yavaşlatıyor. Neden bu kadar?
Bir şeyleri hızlandırmak için dizinleri deniyordum, ancak bir katılım durumunda, dizin sorgu yürütme süresini iyileştirmiyor ve bazı durumlarda işleri yavaşlatıyor. Test tablosu oluşturma ve verilerle doldurma sorgusu: CREATE TABLE [dbo].[IndexTestTable]( [id] [int] IDENTITY(1,1) PRIMARY KEY, [Name] [nvarchar](20) NULL, [val1] [bigint] NULL, [val2] [bigint] NULL) DECLARE @counter INT; SET @counter = …
34 sql-server  index 

7
Bir tablonun tüm yapısını kopyala
Bazı yöntemler kullanarak, bir tablonun kopyasını oluşturduğunuzda indeksleri, PK, FK vb. Kaybedersiniz. Örneğin, SQL Server'da şunu söyleyebilirim: select * into dbo.table2 from dbo.table1; Bu sadece tablonun basit bir kopyasıdır; tüm dizinler / kısıtlamalar eksik. Bir tablo yapısını (yedek kullanmadan) nasıl kopyalayabilirim? Öncelikle bunu el ile yapmak istiyorum, ancak bu mümkün …

3
Bir VARCHAR sütununu indekslemek iyi bir fikir midir?
PostgreSQL v8.2.3 kullanıyoruz. İlgili tablolar var: EMPLOYEE ve EMAILLIST . Table 1: EMPLOYEE (column1, column2, email1, email2, column5, column6) Table 2: EMAILLIST (email) 2 tablo, EMPLOYEE.EMAIL1 veya EMPLOYEE.EMAIL2'nin eşleşen bir girişi yoksa, bu satırların döndürüleceği şekilde birleştirilir. SELECT employee.email1, employee.email2, e1.email IS NOT NULL AS email1_matched, e2.email IS NOT NULL …


2
Çok noktalı virgül indeksi ve performans
Çok noktalı bir dizine sahip bir tablom var ve sorgularda maksimum performansı elde etmek için indekslerin uygun şekilde sıralanmasından şüphelerim var. Senaryo: PostgreSQL 8.4, yaklaşık bir milyon satırlık tablo C1 sütunundaki değerler yaklaşık 100 farklı değere sahip olabilir . Değerlerin eşit dağıldığını varsayabiliriz, bu nedenle olası her değer için yaklaşık …

1
Yabancı anahtarlarda indeks ihtiyacı
Dizinler, birincil anahtarlar ve yabancı anahtarlar ile mücadele ediyorum ... Ve hepsine sahip olma ihtiyacı. Eğer iki tablom varsa, ikisinin de birincil anahtar olarak bir tamsayı vardır. İlk tablo FK üzerinden ikinci tablonun birincil anahtarına atıfta bulunur. Her iki tabloda da kimlik sütununda birincil anahtar dizini var table1.ref_fieldİkinci tablonun PK’sına …

1
Tüm değerler 36 karakter olduğunda, dizin araması char vs varchar ile belirgin şekilde daha hızlı olur mu
Tüm tablolar için birincil anahtar için hash tabanlı oluşturulan bir kimlik kullanan eski bir şema (sorumluluk reddi!) Var. Böyle bir kimliğin bir örneği: 922475bb-ad93-43ee-9487-d2671b886479 Bu yaklaşımı değiştirmenin olası bir umudu yoktur, ancak indeks erişimi ile performans düşüktür. Kenara bu olabilir nedenlerinden sayısız ayarlama, daha az optimal olmanın gibiydi fark ettim …

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
Uzamsal dizin bir "aralık-sırayla-sınırla" sorgusuna yardımcı olabilir
Bu soruyu sormak, özellikle Postgres için, R-tree / uzaysal dizinleri desteklemesi nedeniyle. Kelimelerin ağaç yapılı (Nested Set model) ve sıklıklarının bulunduğu aşağıdaki tabloya sahibiz: lexikon ------- _id integer PRIMARY KEY word text frequency integer lset integer UNIQUE KEY rset integer UNIQUE KEY Ve sorgu: SELECT word FROM lexikon WHERE lset …

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.