SQL千万级数据库模糊查询问题

SQL千万级数据库模糊查询问题,第1张

%开头的模糊查询是没有办法使用索引的,怎么优化都没有用。

一个建议,就是分析字段的含义,以及典型的查询需求,把这个字段拆分为多个独立字段,分别建立索引,这样查询才爽。例如你这个数据,看起来是‘年月日时分秒’的格式,可以把这些信息分散到年、月、日这样的字段里面,就可以模糊查询所有年度的月或者类似的复杂组合——需要模糊的内容不写在WHERE里面即可。

传一个变量值,变量值为你想查询输入的值,然后SQL语句为

SQL = select 表别名你的字段名 from 表 as 表别名 where 表别名条件字段名 like '%变量%';

例:<表名为:abc,存放地名的字段为:xyz>

String Str = "惠州";

String StrSQL = "select axyz as add from abc as a where axyz like "'%"+Str+"%'";

_ 匹配一个字符, 不是一个字节, 所以一个下划线就可以, ORACLE是把汉字当成一个字符来处理的, 比如:

SELECT LENGTH('王五') FROM DUAL; --结果是2

SELECT LENGTHB('王五') FROM DUAL; --结果是4

以上就是关于SQL千万级数据库模糊查询问题全部的内容,包括:SQL千万级数据库模糊查询问题、数据库SQL模糊匹配查询,求求求、数据库的模糊匹配!!谢谢!!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10179644.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存