sql - 使用索引搜索选择具有多个文本条件的所有列
问题描述
我正在尝试加快此查询:
SELECT * FROM person WHERE name != 'John' AND surname != 'Doe' LIMIT 10;
该数据库包含数百万条记录,因此使用默认表扫描进行搜索需要很长时间。
我使用这个查询来索引数据:
CREATE INDEX ix1 ON person(name, surname, birthdate, address, gender);
但是,即使添加了这个索引,我注意到它仍然很慢。然后我跑了一个EXPLAIN
为什么不使用索引来进行索引搜索而不是扫描?
解决方案
推荐阅读
- dialogflow-es - 如何在对话流中制作注册机器人?
- javascript - 在使用 Mobx Persist Store 时将 MobX 与 React Context 一起使用?
- ros - 同时将 Syslog 消息发送到文件并直接在控制台上
- google-apps-script - 将 reddit 抓取的脚本执行时间延长到 5 分钟以上
- python - ConvergenceWarning: lbfgs 未能收敛 (status=1)
- php - 如何在我的 Laravel 项目中安装 PHP Statistics 扩展?
- c - Free():C 程序中的无效指针
- css - 当所有边的值都相同时,是否有必要使用逻辑属性?
- java - 将带有 List 的对象另存为 csv 文件 FlatFileItemWriter
- ruby-on-rails - Heroku 部署 - 无法加载此类文件 - rake (LoadError)