<tfoot id='IfQ38'></tfoot><legend id='IfQ38'><style id='IfQ38'><dir id='IfQ38'><q id='IfQ38'></q></dir></style></legend>

      • <bdo id='IfQ38'></bdo><ul id='IfQ38'></ul>
    1. <i id='IfQ38'><tr id='IfQ38'><dt id='IfQ38'><q id='IfQ38'><span id='IfQ38'><b id='IfQ38'><form id='IfQ38'><ins id='IfQ38'></ins><ul id='IfQ38'></ul><sub id='IfQ38'></sub></form><legend id='IfQ38'></legend><bdo id='IfQ38'><pre id='IfQ38'><center id='IfQ38'></center></pre></bdo></b><th id='IfQ38'></th></span></q></dt></tr></i><div id='IfQ38'><tfoot id='IfQ38'></tfoot><dl id='IfQ38'><fieldset id='IfQ38'></fieldset></dl></div>

      <small id='IfQ38'></small><noframes id='IfQ38'>

      1. 使用“like"优化 MySQL 搜索和通配符

        时间:2023-05-24
        • <tfoot id='776RV'></tfoot>
            <tbody id='776RV'></tbody>

              <bdo id='776RV'></bdo><ul id='776RV'></ul>

              <small id='776RV'></small><noframes id='776RV'>

              <i id='776RV'><tr id='776RV'><dt id='776RV'><q id='776RV'><span id='776RV'><b id='776RV'><form id='776RV'><ins id='776RV'></ins><ul id='776RV'></ul><sub id='776RV'></sub></form><legend id='776RV'></legend><bdo id='776RV'><pre id='776RV'><center id='776RV'></center></pre></bdo></b><th id='776RV'></th></span></q></dt></tr></i><div id='776RV'><tfoot id='776RV'></tfoot><dl id='776RV'><fieldset id='776RV'></fieldset></dl></div>
            • <legend id='776RV'><style id='776RV'><dir id='776RV'><q id='776RV'></q></dir></style></legend>

                1. 本文介绍了使用“like"优化 MySQL 搜索和通配符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  限时送ChatGPT账号..

                  如何查询像

                  SELECT * FROM sometable WHERE somefield LIKE '%value%'
                  

                  要优化吗?

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

                  The main issue here is the first wildcard which prevents DBMS from using index.

                  此外,somefield 值是纯字符串(不是一段文本),因此无法执行全文搜索.

                  What is more, somefield value is solid string (not a piece of text) so fulltext search could not be performed.

                  推荐答案

                  两种方式:

                  (1) 使用内存表,所以速度非常快.

                  (1) use an in-memory table so it goes very fast.

                  (2) 编写比 foo LIKE '%bar%' 更好的索引和搜索算法.如果不了解您的问题,就无法就此提出任何建议.

                  (2) cook up a better index and search algorithm than foo LIKE '%bar%'. It's not possible to make any suggestions about this without knowing more about your problem.

                  正如您所指出的,%bar% 模式保证每次查找都进行表扫描,这使数据库软件中任何可能的搜索独创性无效.

                  As you have pointed out, the %bar% pattern guarantees a table-scan for every lookup, which nullifies any possible search ingenuity in the database software.

                  这篇关于使用“like"优化 MySQL 搜索和通配符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:MySQL 数据库中列名中的连字符 下一篇:在一个 SQL 查询中合并两个表并使日期值唯一

                  相关文章

                  <small id='E6oef'></small><noframes id='E6oef'>

                2. <legend id='E6oef'><style id='E6oef'><dir id='E6oef'><q id='E6oef'></q></dir></style></legend>
                    <i id='E6oef'><tr id='E6oef'><dt id='E6oef'><q id='E6oef'><span id='E6oef'><b id='E6oef'><form id='E6oef'><ins id='E6oef'></ins><ul id='E6oef'></ul><sub id='E6oef'></sub></form><legend id='E6oef'></legend><bdo id='E6oef'><pre id='E6oef'><center id='E6oef'></center></pre></bdo></b><th id='E6oef'></th></span></q></dt></tr></i><div id='E6oef'><tfoot id='E6oef'></tfoot><dl id='E6oef'><fieldset id='E6oef'></fieldset></dl></div>

                      • <bdo id='E6oef'></bdo><ul id='E6oef'></ul>
                      <tfoot id='E6oef'></tfoot>