开发者社区> 问答> 正文

使用“ like”和通配符优化MySQL搜索?mysql

查询如何

SELECT * FROM sometable WHERE somefield LIKE '%value%' 被优化?

这里的主要问题是第一个通配符,它​​阻止DBMS使用索引。

编辑:此外,某字段值是纯字符串(不是一段文本),因此无法执行全文搜索。

展开
收起
保持可爱mmm 2020-05-17 18:09:00 709 0
1 条回答
写回答
取消 提交回答
  • 两种方式:

    (1)使用内存中的表,它可以非常快速地运行。

    (2)制定比更好的索引和搜索算法foo LIKE '%bar%'。如果不了解您的问题,就不可能对此提出任何建议。

    正如您所指出的那样,%bar%模式可确保对每个查找进行表扫描,从而使数据库软件中任何可能的搜索独创性都无效。来源:stack overflow

    2020-05-17 18:18:26
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

相关镜像