Sql 如何在活动记录迁移中向字段添加索引以加快查询速度?
我使用以下迁移创建字典单词表:Sql 如何在活动记录迁移中向字段添加索引以加快查询速度?,sql,ruby,activerecord,indexing,query-optimization,Sql,Ruby,Activerecord,Indexing,Query Optimization,我使用以下迁移创建字典单词表: class CreateTerms < ActiveRecord::Migration def change create_table :terms do |t| t.string :word, index: true t.timestamps end end end 当我通过id查找某个内容时,速度要快得多: Term Load (0.8ms) SELECT "terms".* FROM "terms"
class CreateTerms < ActiveRecord::Migration
def change
create_table :terms do |t|
t.string :word, index: true
t.timestamps
end
end
end
当我通过id查找某个内容时,速度要快得多:
Term Load (0.8ms) SELECT "terms".* FROM "terms" WHERE "terms"."id" = $1 LIMIT 1 [["id", 143556]]
我添加索引是否正确
如何将第一个查询降低到1毫秒的范围,如第二个查询 您可以尝试的一件事是在主键上创建一个索引,并包括要进行搜索的列。这将使查询数据库的速度更快、速度更快
更简单。首先查看查询的解释输出。而且,通常情况下,主键上的精确查找要比副键上的范围查找快。据我所知,like%query可能返回10000行
Term Load (0.8ms) SELECT "terms".* FROM "terms" WHERE "terms"."id" = $1 LIMIT 1 [["id", 143556]]