like 是模糊查询,通配符%表示任意字符,like ‘%5400%’ 这个条件要进行全表扫描,而 YY_BH LIKE ’X5400%’ 表示只查询前面字符为:'X5400‘的所有字符,这时是使用索引查询的,所以速度快。
傻逼啊,谁看了这个文章就是误人子弟 方案1:主键Id,默认为聚集索引,不建立其它非聚集索引select from News where Title like '%"&abigale&"%' or Author like '%"&abigale&"%' order by Id desc从字段Title和Author中模糊检索,按Id排序查询时间:50秒方案2:主键Id,默认为聚集索引在Title、Author、Star上建立非聚集索引select from News where Title like '"&abigale&"%' or Author like '"&abigale&"%' order by Id desc从字段Title和Author中模糊检索,按Id排序查询时间:2 - 25秒 看到没有,那个50秒用的是 '%"&abigale&"%'来的,两个百分号会引发全表扫描而那个快的是 '"&abigale&"%' ,这样就使用索引 不用索引和用索引完全两个概念,尼玛还在说优化,优化你妹
facctcode = '233[深圳]' 可以使用索引,建立索引
facctattr like '投资%' 可以使用索引,建立索引
facctattr not like '%溢折价%' 无法使用索引
facctattr not like '%估值增值%' 无法使用索引
也就是说,可以对 列 facctcode 和 facctattr 分别建立索引
我觉得你可以不必做在数据库上面,因为这样以后数据增大后,肯定还是额瓶颈问题的,我以前做的全文检索为了避免这个问题就是使用了一个Lucene的搜索引擎来对文本进行索引,在进行上面的字段查询时,不必对Note字段进行查询了,只要对索引进行检索就可以,当然索引要关联你的TabelFo的主键,这样最后一个条件就可以换成TF_Id in()的格式。
以上就是关于关于sql语句优化like的问题全部的内容,包括:关于sql语句优化like的问题、如何优化Sql server 大数据量时使用 like 查询的速度或有什么别的方法实现模糊查询、多like的SQL语句优化等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)