時,在一張大桌子上進行緩慢查詢我有一個大約30M元組的表格。該表看起來像:當使用order by
id | first_name | last_name | email
-----------------------------------------
1 | foo | bar | [email protected]
還有一個索引(btree索引)first_name和其他last_name。
查詢下面tooks 200ms左右返回結果:
SELECT
*
FROM my_table
WHERE (first_name ILIKE 'a%')
LIMIT 10 OFFSET 0
但接下來的一個tooks約15秒(加上由順序)
SELECT
*
FROM my_table
WHERE (first_name ILIKE 'a%')
ORDER BY last_name asc, first_name asc
LIMIT 10 OFFSET 0
我能做些什麼來改善最後一個查詢的性能?
索引姓氏,名字。 – jarlh
@jarlh我會試試看,謝謝 – Victor
@jarlh寫一個答案讓我接受 –