Postgresql
對於這個基於函式的查詢,最合適的索引類型是什麼?
我正在使用 Postgres 9.5。我將執行很多此類查詢
SELECT * FROM mydb_article where regexp_replace(url, '\?.*$', '') = :url_wo_query_string
所以我想我需要在我的表上為該操作創建一個功能索引。所以我嘗試了
mydb=> CREATE INDEX my_article_idx ON mydb_article regexp_replace(url, '\?.*$', ''); ERROR: syntax error at or near "regexp_replace" LINE 1: CREATE INDEX my_article_idx ON mydb_article regexp_repl...
我的問題是,我應該使用的最合適的索引類型是什麼,如果是上面的,我還需要做什麼才能讓事情正常工作?
索引的表達式列表必須放在括號之間
on table_name (a,b,c)
。如果索引表達式不僅僅是一個列名,則表達式本身也必須用括號括起來:CREATE INDEX my_article_idx ON mydb_article ( (regexp_replace(url, '\?.*$', '')) );