3-400k girişleri içeren bir tablom var. sütunlarda benzersiz olmayan karma endeksi::Birden çok yerde dizin üzerinde dizin etkisi SQL
TYPE
INFORMATION
MATCH_PATTERN
MATCH_TYPE
ben sql isteği aşağıda kullanmaz fark
ben endeksi table.IDX oluşturduk ABCDEFABCDEFAB. (= A, = AB..)
bir önek kontrolü yapmak istiyor dizin oluşturuldu. Bu böyle mi? Bununla ilgili herhangi bir belge var mı?
SELECT COUNT(*)
FROM table
WHERE table.type = 'TYPE'
AND table.info = 'INFO'
AND table.match_type = 'Prefix'
AND (table.match_pattern like 'ABCDEFABCDEFAB%' OR
table.match_pattern = 'ABCDEFABCDEFAB' OR
table.match_pattern = 'ABCDEFABCDEFA' OR
table.match_pattern = 'ABCDEFABCDEF' OR
table.match_pattern = 'ABCDEFABCDE' OR
table.match_pattern = 'ABCDEFABCD' OR
table.match_pattern = 'ABCDEFABC' OR
table.match_pattern = 'ABCDEFAB' OR
table.match_pattern = 'ABCDEFA' OR
table.match_pattern = 'ABCDEF' OR
table.match_pattern = 'ABCDE' OR
table.match_pattern = 'ABCD' OR
table.match_pattern = 'ABC' OR
table.match_pattern = 'AB' OR
table.match_pattern = 'A');
create table aTable (
SERIAL INTEGER,
NAME CHAR(30),
TYPE CHAR(32),
INFORMATION CHAR(32),
MATCH_PATTERN CHAR(40),
MATCH_TYPE TINYINT,
primary key (SERIAL),
foreign key (NAME) references nameTable(name));
create unique index NS.IDX
ON aTable(NAME, TYPE, INFORMATION, MATCH_PATTERN, MATCH_TYPE);
İşaret sütunları geçmeyi deneyin, sırası önemlidir. TİP, bilgi, MATCH_TYPE, MATCH_PATTERN'. Ayrıca 'bilgi 'sorgusundan farklı bir adı vardır. – Igor
Sadece kısa bir soru: Yukarıdaki ölçütlere uymayan kayıtlardan kaç tanesi? Çünkü eğer çok fazla değil ya da tüm sıraların% 50-60'ından fazla değilse, o zaman sorgu optimiser bir tablo taraması seçecektir. – Gabor
Lütfen "DDL + yürütme planı" nı – Devart