1000万行.MySQLServerV.5.7有两个索引,分别称为"标语"和"体验".

此语句用时<1秒:

SELECT count(*) FROM pa
    WHERE MATCH(tagline) AGAINST('"developer"' IN BOOLEAN MODE);

此语句也用了<1秒:

SELECT count(*) FROM pa
    WHERE MATCH(experience) AGAINST('"python"' IN BOOLEAN MODE);

这条综合语句耗时30秒:

SELECT count(*) FROM pa
    WHERE MATCH(tagline) AGAINST('"developer"' IN BOOLEAN MODE)
      AND MATCH(experience) AGAINST('"python"' IN BOOLEAN MODE);

这里概述了类似的问题.从本质上说,对全文匹配做了一些细微的更改,使其毫无用处: https://medium.com/hackernoon/dont-waste-your-time-with-mysql-full-text-search-61f644a54dfa

推荐答案

和狮身人面像一起go 了.https://www.youtube.com/watch?v=OP0c26k_iQc

升级MySQL功能的一种相当简单的方法,而不需要使用新的堆栈.

Mysql相关问答推荐

MySQL查询基于上次访问时间戳更新用户的问题

SQL:创建新列并将现有表中的值追加到新创建的列中

MySQL::JSON列的添加使SELECT查询非性能(当需要临时表时)

Python - 执行原始 SQL 时获取更新查询 (Mysql) 的结果

使用 presto 或 mysql 添加每个组中的缺失值

获取每个参数的记录,不重复

如何在Mysql中使用With和Values

使用索引进行查询优化

Select 最高等级最多的部门名称

mySql 查询运行速度超慢

Mysql JSON_REMOVE 数组键和值 (MariaDB)

通过 Gorm 查询模型

使用 ON DUPLICATE KEY 将列增加一定数量 MySQL NodeJS

字符ي和ی以及波斯语的区别 - Mysql

如何用一系列日期填充表格?

MySQL 删除多列

MySQL - 我如何输入 NULL?

Ubuntu 中的 MySQL JDBC jar 文件在哪里?

警告:mysqli_connect(): (HY000/1045): Access denied for user 'username'@'localhost' (using password: YES)

如果另一列为空,则 Select 一列