mysql - 如何以最佳方式同时搜索文本和整数数据类型?
问题描述
这是我的查询:
SELECT *
FROM posts
WHERE user_id = :user_id
AND MATCH(subject, content) AGAINST(:entry)
看?我需要该整数的索引posts(user_id)
,而且我在这两列上还有另一个单独的全文索引posts(suject,content)
。
无论如何,在这种情况下如何制作一个索引以使性能更加优化?
解决方案
“文本”和“整数”不是问题。BTree 和 FULLTEXT 是问题所在。
但是问题不大……优化器总是会MATCH...
首先选择 FULLTEXT 索引 ( )。如果这会返回适当数量的行,那么进一步的过滤user_id
将不会太昂贵。如果user_id
是PRIMARY KEY
of posts
,那就更好了。(如果这是WP,那不可能是PK。)
可能你想要AGAINST(:entry IN BOOLEAN MODE)
?
推荐阅读
- c# - 将数据从 SQL 数据库导出到 C# 中的脚本文件
- php - 发送队列电子邮件时 Laravel 错误
- c++ - 如何为 gsl:narrow 定义 __cpp_exceptions 进行编译?
- html - 将 td 与 th 对齐,显示块打开
- flutter - Flutter Bloc 在 listview.builder 中不起作用?
- javascript - 如何使用 REACT -NOT JSON 或仅图像从我的根目录加载经典 AJAX / 异步内容
- c++ - 如果我的函数使用静态成员,为什么我应该通过引用返回
- typescript - 使用 typecirpt 对对象进行部分更新
- postgresql - 连接 Google Cloud SQL 的 DB Connection URI 格式是什么
- javascript - hasPairsWithSum 谷歌面试题