【发布时间】:2011-06-04 14:40:04
【问题描述】:
这是我的简单查询;通过搜索selectnothing,我确定我不会找到任何结果。
SELECT nome_t FROM myTable WHERE nome_t ILIKE '%selectnothing%';
这是EXPLAIN ANALYZE VERBOSE
Seq Scan on myTable (cost=0.00..15259.04 rows=37 width=29) (actual time=2153.061..2153.061 rows=0 loops=1)
Output: nome_t
Filter: (nome_t ~~* '%selectnothing%'::text)
Total runtime: 2153.116 ms
myTable 有大约 350k 行,表定义类似于:
CREATE TABLE myTable (
nome_t text NOT NULL,
)
我在 nome_t 上有一个索引,如下所述:
CREATE INDEX idx_m_nome_t ON myTable
USING btree (nome_t);
虽然这显然是全文搜索的理想选择,但我想暂时排除该选项。
此查询旨在从 Web 应用程序运行,目前大约需要 2 秒,这显然太多了;
我可以做些什么,例如使用其他索引方法,以提高此查询的速度?
【问题讨论】:
标签: sql performance optimization postgresql