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

桐城市做网站康定网站建设

桐城市做网站,康定网站建设,网页背景做的比较好的网站,网站建设 镇江万达1.索引 1.1 索引的概念 索引(index)是帮助MySQL高效获取数据的有序数据结构,这些数据结构以某种方式指向数据,这样就可以在这种数据结构之上实现高级查找,而不是全表扫描。 MySQL中选择的数据结构是 B 树。 innoDB的逻辑存储结构 表空间 -- …

1.索引

1.1 索引的概念

        索引(index)是帮助MySQL高效获取数据的有序数据结构,这些数据结构以某种方式指向数据,这样就可以在这种数据结构之上实现高级查找,而不是全表扫描。

        MySQL中选择的数据结构是 B+ 树。

        innoDB的逻辑存储结构

表空间 -- 段 -- 区 -- 页 --- 行,innoDB的最小操作单元是页。一个区固定大小1M,页固定大小16K,所以一个区有64个页

1.2 索引的分类

在innoDB中,根据索引的存储形式,又可以分为聚焦索引和二级索引:

如果我们查询设置的条件是二级索引,那么它会先通过二级索引查找到主键值,然后再到聚焦索引中查询对应的数据,这个过程被称作回表查询

1.3 索引语法

1.3.1 创建索引

        create [unique/fulltext] index 索引名 on 表名(字段名列表)

        eg. create unique index student_name on student(name)

如果只有一个字段,那么这个索引被称作单列索引,多个字段则是联合索引

1.3.2 查看索引

        show index from 表名

        eg. show index from student

1.3.3 删除索引

        drop index 索引名 on 表名

        eg. drop index student_name on student

2.SQL性能查看

2.1 SQL性能分析

2.1.1 查看当前数据库SQL执行频率

        show global/session status like 'com_______'(七个下划线,一个下划线代表一个字符,insert,update,delete,select都是六个字符加上一个下划线)

如果当前数据库是查询的频率最高,那么我们就可以考虑优化查询SQL。

2.1.2 慢查询日志

慢查询日志只能记录超过设置时间的查询语句,如果我们的超时设置为2,但是有些查询花费了1.9s,那么它是不能被慢日志记录的,此时我们需要使用profiling进行查看

-- 查看当前是否支持 profiling
select @@have_profiling ;-- 查看profiling是否打开  0-关闭  1-打开
select @@profiling ;-- 打开profiling 如果是0就是关闭
set profiling = 1 ;-- 一系列查询操作
select * from student ;
select * from student where id = 1 ;
select name from student where id = 1 ;-- 查看开启profiling期间所有查询花费的时间
show profiles ;

2.1.3 explain/desc 查看查询计划

3.索引失效的情况

3.1 最左前缀法则

通俗来讲,如果存在一个联合索引 (字段1,字段2,字段3),我们在设置查询条件的时候必须出现字段1才会使用索引,否则是全文查找。

下面分情况讨论:

        使用  字段1----->会使用索引

        使用  字段1,字段2----->会使用索引,但是不会使用字段3的索引

        使用  字段2,字段3----->不会使用索引,不符合最左前缀法则,字段1未出现

        使用  字段1,字段3----->会使用索引,但是字段3索引会失效,因为跳过了字段2

字段出现的先后顺序没有要求,比如  字段3,字段2,字段1  也是会使用索引的。

3.2 范围查询

如何避免:使用>=或者between and 不会导致失效。

3.3 索引列运算

3.4 字符串不加引号

3.5 头部模糊匹配

 3.6 or 连接的条件

3.7 数据分布影响

4.索引使用

4.1 SQL提示

4.2 覆盖索引

为什么要返回的列在索引中能全部找到能提示效率呢?

如果要返回的列在联合索引中不能全部找到,那么它就会多一个回表查询的步骤,降低了查询的效率。因为select * 极其容易出现回表查询(只有在有一个联合索引包括表中所有列的时候才不会出现回表查询),所以不建议使用select *。

4.3 前缀索引

4.4 单列索引和联合索引

如果MySQL评估使用单列索引效率更高而使用了单列索引,但是存在单列索引中找不到的返回列,那么此时会进行回表查询,降低了效率。

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

相关文章:

  • 网站设计目标怎么写个人网站成品
  • wordpress建站发文教程做新闻h5网站
  • 私有云 搭建wordpress海口seo快速排名优化
  • 苏州市建设局网站集群统一登录为什么做网站ppt
  • h5网站制作公司海东地网站建设
  • 做网站都需要学什么沈阳的网站建设
  • 哪里可以买链接网站网站建设需求说明书
  • 中山市规划建设局网站网站开发实现编码
  • 免费站长工具免费的asp网站
  • 网站后台开发需求建设网站的建设费用包括什么科目
  • 网站建设是永久性的吗网络管理系统页面
  • 企业开发网站建设哪家好wordpress修改自己的头像
  • 网站设计怎么做一点首页就跳转网站开发外包公司合同
  • 网站自定义功能实现网页设计主要学什么内容
  • 商城网站开发需求分析wordpress 匿名
  • 营销导向的网站建设的主要流程oa系统简介
  • 农家乐网站设计费用网站套餐报价 模版
  • 淄博北京网站建设创建软件网站
  • 黑龙江省建设集团有限公司网站首页局 网站建设方案
  • 深圳做步步高的公司网站电子商务视觉设计
  • 直播网站制作开发一个电商平台需要多少钱
  • 网站建设和制作广东省建设厅网站6
  • 响应式网站 产品轮播代码在线免费网站建设
  • 网站备案的要求是什么长春企业平台
  • 网站建设实训存在的问题wordpress恶意注册
  • 网站建设与分工的论文wordpress随机切换主页内容
  • 网站建设与维护服务器工作证的照片几寸
  • HTML怎么做网站目录网站建设分金手指专业十二
  • 电子商务网站创建方案WORDPRESS主机选择
  • 西安建设局网站首页免费公司logo设计