31百科知识网

31百科知识网

MySQL模糊查询 like 时区分大小写

大家好,今天小编来为大家解答以下的问题,关于MySQL模糊查询like和ilike的区别,不建议使用%前缀模糊查询这个很多人还不知道,现在让我们一起来看看吧!

本文目录

  1. MySQL模糊查询like和ilike的区别
  2. 如何通过优化sql语句提高数据库查询效率
  3. humour的反义词前缀

MySQL模糊查询like和ilike的区别

LIKE和ILIKE操作符可以模糊匹配字符串,LIKE是一般用法,ILIKE匹配时则不区分字符串的大小写,~波浪号则可以使用正则匹配。

LIKE和ILIKE

它们需要结合通配符使用,下面介绍两种常用的通配符。

%:百分号用于匹配字符串序列,可匹配任意组合;

_:下划线用于匹配任何单一字符。

则可以使用正则模式来匹配字符串,除此之外它匹配模式还有一个特殊的地方

select*fromtablewhere~'ab';-->如果是这样的形式就代表着他可以匹配任何包含ab的字符串其实就相当于省略的两边的.*

如果想要做前缀匹配或后缀匹配,可以用下面的方法

1、前缀+模糊查询。

select*fromtablewhere~'^ab';

2、后缀+模糊查询。

select*fromtablewhere~'ab$';

如何通过优化sql语句提高数据库查询效率

谢邀!

通过SQL调优提高查询性能最重要的就是对索引的使用,下面是对索引使用的一些总结,希望对你有所帮助。

MySQL索引对数据检索的性能至关重要,盲目的增加索引不仅不能带来性能的提升,反而会消耗更多的额外资源。

索引是用于快速查找记录的一种数据结构。索引就像是数据库中数据的目录,数据库在查询时,首先在索引中找到匹配的值,然后根据这个匹配值找到对应的数据行。

聚簇索引的顺序就是数据的物理存储顺序,索引中数据域存储的就是实际的数据,一个表最多只能有一个聚簇索引,适用于查询多行数据,不适用于频繁修改的列,一般在主键上创建。

非聚簇索引顺序与数据物理排列顺序无关,索引中存储的内容为实际数据的地址,适应于查询单行数据。

普通索引,即平时创建的普通索引。

唯一索引,索引所在的列或列组合的值是全表唯一的。

全文索引,MySQL从3.23.23版开始支持全文索引,它查找的是文中的关键词,而不是直接比较索引中的值。

单列索引,在单列上创建的索引。

组合索引,在多个列上创建的索引。

最左前缀查找:where子句中有a、b、c三个查询条件,创建一个组合索引abc(a,b,c),最左前缀的概念是说以组合索引最左边的列a组合成的查询条件,如(a,b,c)、(a,b)、(a,c),这三种情况的查询条件都会使用abc索引,和where子句中a、b、c出现的顺序没关系,可以是wherec=?andb=?anda=?,但(b,c)组合不会使用索引,即wherec=?andb=?。

哪些列适合创建索引:

1.经常作为查询条件的列;

2.经常作为排序条件的列;

3.经常作为join条件的列;

4.经常被查询的列。

哪些列不适合创建索引:

1.数据频繁被修改的列,数据被修改,索引需要做相应的修改,消耗资源;2.区分度不是很高的列,如性别,列值重复性太大,索引效果不是很明显;3.不是经常被作为查询条件、排序条件、连接条件的列。

经验总结:

1.列上进行函数计算将不会使用索引;

2.对于创建索引的列,避免存储NULL,NULL会使索引更加复杂、效率变低,可以使用NOTNULL进行约束;

3.对于模糊查询like'%abc%',将不会使用索引,而like'abc%'将会使用索引;

4.对于notin、notexists、!=等负向查询将不会使用索引;

5.每次查询只使用一个索引,如果where条件使用了索引,orderby将不再使用索引;

6.对于where子句中有多个查询条件的,单列索引的效率不如复合索引,因为查询每次只能使用一个索引;

7.MySQL只对以下操作符才使用索引:<、<=、=、>、>=、between、in,但是需要注意in的范围值不要太多;

8.unionall可以使用索引,但本身效率不是很高,不建议使用;

9.列上进行类型转换的将不会使用索引;

10.老版本MySQL对OR条件不使用索引,新版本才支持,不建议使用OR。

关于索引的实战经验总结后续还会不断更新,可以关注我的头条号!

humour的反义词前缀

humour的反义词:

dull

adj.枯燥的,乏味的;模糊的,昏暗的,无光泽的;(天气)阴沉的;(声音)沉闷的;(疼痛)隐约的,微弱的;(刀刃)钝的;(活动)迟缓的;(人)迟钝的,愚笨的v.(使)变钝,(使)缓和,(使)减轻

文章分享结束,MySQL模糊查询like和ilike的区别和不建议使用%前缀模糊查询的答案你都知道了吗?欢迎再次光临本站哦!

sql mysql like模糊查询基本用法

标签:# 我的# 模糊# 区别# 查询# 网站