在 Postgres 表索引中包含多个字段
我正在使用 Postgres 8.4,并使用 ILIKE 执行搜索。由于我正在从该表中搜索 4 列(包含文本),因此我想知道是否可以为所有 4 列创建单个索引,而不是为每列创建索引。
谢谢。
I'm using Postgres 8.4 and I'm performing a search using ILIKE. Since I'm searching in 4 columns (containing text) from that table I was wondering if it's ok to create a single index for all the 4 columns and not an index for each column.
Thank you.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这是一个有点复杂的话题。一般来说,数据库不会优化 LIKE 查询,除非它锚定到开头。如果您要搜索 4 列,那么情况可能并非如此。
http://www.postgresql.org/docs/8.4/static/indexes -types.html
如果您正在进行自然语言查询(如搜索引擎),您可以考虑 postgresql 中的全文支持...
This is a bit of a complicated topic. In general databases will not optimize a LIKE query unless it is anchored to the beginning. If you are searching across 4 columns, then this is LIKEly not the case.
http://www.postgresql.org/docs/8.4/static/indexes-types.html
You may consider the full text support in postgresql if you are doing natural language queries (like a search engine)...