查询如何
SELECT * FROM sometable WHERE somefield LIKE '%value%' 被优化?
这里的主要问题是第一个通配符,它阻止DBMS使用索引。
编辑:此外,某字段值是纯字符串(不是一段文本),因此无法执行全文搜索。
两种方式:
(1)使用内存中的表,它可以非常快速地运行。
(2)制定比更好的索引和搜索算法foo LIKE '%bar%'。如果不了解您的问题,就不可能对此提出任何建议。
正如您所指出的那样,%bar%模式可确保对每个查找进行表扫描,从而使数据库软件中任何可能的搜索独创性都无效。来源:stack overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。