当前位置: 首页 > news >正文

赤峰市建设厅官方网站wordpress带手机验证码

赤峰市建设厅官方网站,wordpress带手机验证码,做网站需要后端吗,响应式网页设计案例实现与分析今天我们来讲一下最常见和最基本的几个索引使用规则,也就是说,当我们建立好一个联合索引之后,我们的SQL语句要怎么写,才能让他的查询使用到我们建立好的索引呢? 下面就一起来看看,还是用之前的例子来说明。…

今天我们来讲一下最常见和最基本的几个索引使用规则,也就是说,当我们建立好一个联合索引之后,我们的SQL语句要怎么写,才能让他的查询使用到我们建立好的索引呢?

下面就一起来看看,还是用之前的例子来说明。

上次我们讲的是等值匹配规则,就是你where语句中的几个字段名称和联合索引的字段完全一样,而且都是基于等号的等值匹配,那百分百会用上我们的索引,这个大家是没有问题的,即使你where语句里写的字段的顺序和联合索引里的字段顺序不一致,也没关系,MySQL会自动优化为按联合索引的字段顺序去找。

现在看第二个规则,就是最左侧列匹配,这个意思就是假设我们联合索引是KEY(class_name, student_name, subject_name),那么不一定必须要在where语句里根据三个字段来查,其实只要根据最左侧的部分字段来查,也是可以的。

比如你可以写select * from student_score where class_name=‘’ and student_name=‘’,就查某个学生所有科目的成绩,这都是没有问题的。

但是假设你写一个select * from student_score where subject_name=‘’,那就不行了,因为联合索引的B+树里,是必须先按class_name查,再按student_name查,不能跳过前面两个字段,直接按最后一个subject_name查的。

另外,假设你写一个select * from student_score where class_name=‘’ and subject_name=‘’,那么只有class_name的值可以在索引里搜索,剩下的subject_name是没法在索引里找的,道理同上。

所以在建立索引的过程中,你必须考虑好联合索引字段的顺序,以及你平时写SQL的时候要按哪几个字段来查。

第三个规则,是最左前缀匹配原则,即如果你要用like语法来查,比如select * from student_score where class_name like ‘1%’,查找所有1打头的班级的分数,那么也是可以用到索引的。

因为你的联合索引的B+树里,都是按照class_name排序的,所以你要是给出class_name的确定的最左前缀就是1,然后后面的给一个模糊匹配符号,那也是可以基于索引来查找的,这是没问题的。

但是你如果写class_name like ‘%班’,在左侧用一个模糊匹配符,那他就没法用索引了,因为不知道你最左前缀是什么,怎么去索引里找啊?

第四个规则,就是范围查找规则,这个意思就是说,我们可以用select * from student_score where class_name>‘1班’ and class_name<'5班’这样的语句来范围查找某几个班级的分数。

这个时候也是会用到索引的,因为我们的索引的最下层的数据页都是按顺序组成双向链表的,所以完全可以先找到’1班’对应的数据页,再找到’5班’对应的数据页,两个数据页中间的那些数据页,就全都是在你范围内的数据了!

但是如果你要是写select * from student_score where class_name>‘1班’ and class_name<‘5班’ and student_name>‘’,这里只有class_name是可以基于索引来找的,student_name的范围查询是没法用到索引的!

这也是一条规则,就是你的where语句里如果有范围查询,那只有对联合索引里最左侧的列进行范围查询才能用到索引!

第五个规则,就是等值匹配+范围匹配的规则,如果你要是用select * from student_score where class_name=‘1班’ and student_name>‘’ and subject_name<‘’,那么此时你首先可以用class_name在索引里精准定位到一波数据,接着这波数据里的student_name都是按照顺序排列的,所以student_name>'‘也会基于索引来查找,但是接下来的subject_name<’'是不能用索引的。

所以综上所述,一般我们如果写SQL语句,都是用联合索引的最左侧的多个字段来进行等值匹配+范围搜索,或者是基于最左侧的部分字段来进行最左前缀模糊匹配,或者基于最左侧字段来进行范围搜索,这就要写符合规则的SQL语句,才能用上我们建立好的联合索引!

http://www.yayakq.cn/news/975352/

相关文章:

  • 如何寻找seo网站建设客户展馆展示设计公司招聘广告
  • 东莞做一个企业网站要多少钱微站设计
  • 网站空间如何搬家wordpress查看分类id
  • 中国大连网站做图库网站需要多少钱
  • 给别人做网站的话术公司的网站建设费应该怎么入账
  • 网站使用费用wordpress多个字体大小
  • 兰溪企业网站搭建地址南京华佑千家装饰工程有限公司
  • 网站上做相关链接微信app下载安卓版
  • 上海网站建设免费推荐全网营销的概念
  • 旅游电子商务网站建设的流程wordpress yeti1.92
  • 微信订阅号关键网站域名和服务器的关系
  • 互联网是做什么的莱阳seo外包
  • 上海学网站建设学做效果图的网站有哪些
  • 网络规划设计师教程(第2版)pdf北京网站优化多少钱
  • 谷歌网站收录提交网站建设 贸易
  • 广州网站建设网站建设公司黄页是官网吗
  • 网站建设毕业设计刻光盘上海 网站开发 兼职
  • 网站建设费用请示电子商务网页设计与网站建设论文
  • 网站挂服务器后图片不显示wordpress 农业主题
  • 网站建设需要什么设备wordpress创建子主题
  • 中建南方建设集团网站试玩网站建设
  • 产品宣传网站的重点网站首页seo关键词布局
  • 武进网站建设价位西部数码域名网站模板
  • 机械公司网站模板app制作教程培训
  • 如何做本地网站代理网关app未运行 歌华
  • 网站开发工程师面试题安装文件出现乱码
  • 数码产品销售网站建设策划书如何做微商城网站建设
  • 做网站原型的简单工具无锡本地网站有哪些
  • 成品网站w灬源码1688网站开发百灵鸟
  • 外贸先做网站再开公司网站美化