ruby on rails -数据库索引是否可以优化pg_search, pg_search_scope方法



我正在努力为我的PostgreSQL 9.1 rails应用程序添加搜索。

class Comment < ActiveRecord::Base
  include PgSearch
  pg_search_scope :search_by_content, :against => :content

Rails C, command:

 Comment.where(:commentable_id => 33).search_by_content('pgsql').count
Rails日志:

(348.1ms)  SELECT COUNT(*) FROM "comments" WHERE "comments"."commentable_id" = 33 AND (((to_tsvector('simple', coalesce("comments"."content"::text, ''))) @@ (to_tsquery('simple', ''' ' || 'pgsql' || ' '''))))

在安装gem并设置注释模型之后,说明中没有提到如何添加db索引来优化性能。考虑到查询在本地已经花费了348.1ms,我很好奇是否可以将其优化为更高的性能?

谢谢

Rails似乎正在使用全文搜索-请参阅PostgreSQL文档中的全文搜索,特别是创建索引部分。

Rails对tsearch2表达式做了一些非常奇怪的事情,这可能会使创建一个PostgreSQL将识别为匹配的索引变得更加困难。参见前面的问题

使用EXPLAIN ANALYZE来验证它是否正在使用索引

相关内容

  • 没有找到相关文章

最新更新