gpt4 book ai didi

sql - 高效的数据库搜索 LIKE '%something%'

转载 作者:行者123 更新时间:2023-12-02 00:37:50 26 4
gpt4 key购买 nike

我正在尝试通过电话号码搜索任何包含一些数字系列的电话号码。

显然下面的代码会很慢:

 Select * from customer where phone like '%1234%'

我需要通配符,因为允许用户在数据库中输入任何数据,所以它可能有国家代码、前导 1(如 1-800)或尾随扩展名(有时仅由空间。

注意:我已经通过删除所有非数字字符创建了“干净”的电话号码,因此我不必担心破折号、空格等问题。

有什么神奇的方法可以让这样的搜索在合理的时间内运行吗?

最佳答案

如果您使用的是 MySQL,则需要全文搜索功能 http://dev.mysql.com/doc/refman/5.1/en/fulltext-search.html

它专门优化了您列出的查询,并且一旦设置就非常快。您将需要 MySQL 中的数据,并且它必须在 MyISAM 表中(不是 InnoDB 或其他表。)

我已经在生产中使用它并且效果很好。

关于sql - 高效的数据库搜索 LIKE '%something%',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3886514/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com