【发布时间】:2018-09-25 20:00:54
【问题描述】:
好吧,我会非常直截了当 - 在我的应用程序中实现生日搜索时,我遇到了巨大的性能下降 - 我使用的是 LIKE,这不是左锚表达式(因为日期列格式看起来像 YYYY-MM-DD ),所以我不得不做 (%-本月-今天),而且这个查询不能使用默认索引。
我找到了pg-trgm 的东西,这实际上非常棒,但是 gist/gin_trgm_ops 运算符不支持“日期”类型。您可能会说,如果我使用 LIKE,将日期作为列类型是没有意义的 - 无论如何我必须 ::varchar 它,但我希望在我的数据库中设置严格,所以我正在征求意见 - 有没有让 LIKE 在日期方面更快地工作的方法,或者,如果有其他选择,在没有那么长的查询时间的情况下完成我的任务(进行生日搜索)的方法?
【问题讨论】:
标签: sql postgresql pg-trgm