«pattern-matching» etiketlenmiş sorular


3
LIKE nasıl uygulanır?
LIKE operatörünün mevcut veritabanı sistemlerinde nasıl uygulandığını açıklayabilir (örneğin, MySQL veya Postgres)? ya da beni açıklayan bazı referanslara işaret? Naif bir yaklaşım, her bir alanı incelemek, ilgilenilen alanda düzenli bir ifade ya da kısmi bir dize eşleştirmesi yapmak olacaktır, ancak bu sistemlerin daha akıllıca bir şey yaptığı hissine sahibim (umudum).

2
Bir ifadede toplu bir LIKE sorgusunu hızlandırmak için bir dizin nasıl oluşturulur?
Başlıkta yanlış soru soruyor olabilirim. İşte gerçekler: Müşteri hizmetleri halkım, Django tabanlı sitemizin yönetim arayüzünde müşteri aramaları yaparken yavaş yanıt sürelerinden şikayet ediyor. Postgres 8.4.6 kullanıyoruz. Yavaş sorguları kaydetmeye başladım ve bu suçluyu keşfettim: SELECT COUNT(*) FROM "auth_user" WHERE UPPER("auth_user"."email"::text) LIKE UPPER(E'%deyk%') Bu sorgunun çalışması 32 saniyeden fazla sürüyor. EXPLAIN …

1
Neden bir metin sütununda text_pattern_ops dizini ekleyesiniz?
Bugün Yedi Haftada Yedi Veritabanları beni operatör başına dizinlerle tanıştırdı. text_pattern_opsDeğerler küçük harfle indekslendiği sürece, bir operatör sınıfı dizini oluşturarak önceki sorgularla eşleşen desen için dizeleri dizinleyebilirsiniz. CREATE INDEX moves_title_pattern ON movies ( (lower(title) text_pattern_ops); text_pattern_opsBaşlığını metin türünde olduğu için kullandık . Endeksi varchars karakter veya isimler Sizin gerekiyorsa, ilgili …

2
Arama dizisi uzadıkça trigram arama çok yavaşlar
Postgres 9.1 veritabanında, table1~ 1.5M satır ve bir sütun label(bu soru uğruna basitleştirilmiş adlar) içeren bir tablo var . Üzerinde fonksiyonel bir trigram indeksi vardır lower(unaccent(label))( indekste unaccent()kullanılmasına izin vermek için değişmez hale getirilmiştir). Aşağıdaki sorgu oldukça hızlıdır: SELECT count(*) FROM table1 WHERE (lower(unaccent(label)) like lower(unaccent('%someword%'))); count ------- 1 (1 …



5
A] (kapanış köşeli ayraç) ile “[]” joker karakterini kullanarak PATINDEX ile eşleştirme
T-SQL † özel bir JSON ayrıştırıcı yazıyorum . Ayrıştırıcımın amacı için, PATINDEXbir belirteç listesinden bir belirtecin konumunu hesaplayan işlevi kullanıyorum . Benim durumumdaki jetonların hepsi tek karakterdir ve şunları içerir: {} []:, Genellikle, verilen birkaç karakterden herhangi birinin (ilk) konumunu bulmam gerektiğinde, PATINDEXişlevi şu şekilde kullanırım: PATINDEX('%[abc]%', SourceString) Fonksiyon sonra …
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.