Rumah >pangkalan data >tutorial mysql >Mengapa PostgreSQL LIKE Query Performance So Variable, dan Bagaimana Saya Boleh Mengoptimumkannya?
Pertanyaan LIKE PostgreSQL boleh menunjukkan perbezaan dramatik dalam kelajuan pelaksanaan. Memahami faktor yang mempengaruhi prestasi adalah kunci kepada pengoptimuman.
Indeks trigram modul pg_trgm
mempercepatkan prestasi pertanyaan LIKE dengan ketara. Indeks ini mengendalikan semua corak LIKE dan ILIKE (termasuk padanan separa dan kad bebas) dengan mengindeks gabungan tiga aksara. Ini membolehkan carian cekap tanpa mengira panjang rentetan.
^@
dan starts_with()
PostgreSQL menawarkan operator ^@
dan fungsi starts_with()
untuk padanan awalan. Mereka mengoptimumkan carian dengan menggunakan indeks btree atau SP-GiST untuk corak yang tidak mempunyai kad bebas terkemuka.
COLLATE "C"
dan text_pattern_ops
Untuk corak berlabuh kiri (tanpa kad bebas utama), menggunakan COLLATE "C"
atau kelas operator text_pattern_ops
dengan indeks btree menyediakan alternatif yang cekap ruang kepada indeks trigram.
Untuk panduan lebih terperinci tentang mengoptimumkan pertanyaan LIKE, rujuk sumber ini:
Atas ialah kandungan terperinci Mengapa PostgreSQL LIKE Query Performance So Variable, dan Bagaimana Saya Boleh Mengoptimumkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!