1, 红黑树 同一层级的黑树到根结点经历的黑树数目一样 最坏情况的时间复杂度 lg n 是二叉树
b树 结点可以有多个孩子 b+树 父节点不存储数据
聚集索引)的叶子节点会存储数据行,也就是说数据和索引是在一起 非聚集索引存储的是数据行的指针

2,InnoDB存储引擎支持两种常见的索引。
一种是B+树,一种是哈希。
所有记录的节点都在叶节点中,并且是顺序存放的
所有记录节点都是按照键值的大小顺序存放在同一层的叶节点中,各个叶子节点通过指针进行连接。由于一个节点中存放了多条的数据,那么检索的时候,进行的磁盘IO次数将会少掉很多

3,like 'abc%'会去索引中找 '%abc'不会
复合索引 使用第一部分才会使用索引
索引单独使用,否则不使用索引 or and

索引缺点 占空间 增加删除耗时
频繁更新的不适合索引 sex值类型少不适合,

4,InnoDB存储引擎的逻辑存储结构和 Oracle大致相同 ,所有数据都被逻辑地存放在一个空间中 ,我们称之为表空间 ( tablespace ) 。表空间又由段 ( segment ) 、区 ( extent ) 、页 ( page ) 组成 。页在一些文档中有时也称为块(block) 

执行顺序
示例SQL:
SELECT * FROM user LEFT JOIN order ON user.id = order.uid WHERE order.price > 1000 GROUP BY user.name HAVING count(1) > 5 ORDER BY user.name LIMIT 0,10
1.FROM(将最近的两张表,进行笛卡尔积)---VT1
2.ON(将VT1按照它的条件进行过滤)---VT2
3.LEFT JOIN(保留左表的记录)---VT3
4.WHERE(过滤VT3中的记录)--VT4…VTn
5.GROUP BY(对VT4的记录进行分组)---VT5
6.HAVING(对VT5中的记录进行过滤)---VT6
7.SELECT(对VT6中的记录,选取指定的列)--VT7
8.ORDER BY(对VT7的记录进行排序)--游标
9.LIMIT(对排序之后的值进行分页)
WHERE条件执行顺序(影响性能)
1.MYSQL:从左往右去执行WHERE条件的。
2.Oracle:从右往左去执行WHERE条件的。
结论:写WHERE条件的时候,优先级高的部分要去编写过滤力度最大的条件语句。

转载于:https://www.cnblogs.com/song-9527/p/10647998.html

mysql索引及sql执行顺序相关推荐

  1. mysql索引执行顺序_mysql索引及sql执行顺序

    1, 红黑树 同一层级的黑树到根结点经历的黑树数目一样 最坏情况的时间复杂度 lg n 是二叉树 b树 结点可以有多个孩子 b+树 父节点不存储数据 聚集索引)的叶子节点会存储数据行,也就是说数据和索 ...

  2. MySQL数据库:SQL执行顺序

    MySQL数据库是我们常用的关系型数据库之一,对于MySQL,我们写的SQL语句大多包含以下部分: select 字段 from 表 join 连接类型 on 连接字段 where 条件 group ...

  3. MySQL高级 - SQL技巧 - SQL执行顺序及正则表达式

    SQL执行顺序 编写顺序 SELECT DISTINCT<select list> FROM<left_table> <join_type> JOIN<rig ...

  4. MySQL索引管理及执行计划

    MySQL索引管理及执行计划 第1章 索引介绍: 索引是对数据库表中一列或者多列 的值进行排序的一种结构,使用索引可以快速访问数据库表中的特定信息,如果想按特定职员的姓名来查找,则与他在表中搜索所有的 ...

  5. Mysql体系结构及sql执行过程总结

    Mysql体系结构及sql执行过程总结 一.体系结构图 各模块说明: 1.Connectors:各应用程序与SQL的交互 2. Management Serveices & Utilities ...

  6. sql笔记1:sql执行优先级和casewhen用法、sql执行顺序

    MySQL 语句中执行优先级--and比or高 例: select * from table where 条件1 AND 条件2 OR 条件3 等价于 select * from table wher ...

  7. SQL 执行顺序图解

    目录 执行顺序 数据的关联过程 执行顺序 这是一条标准的查询语句: 这是我们实际上SQL执行顺序: 我们先执行from,join来确定表之间的连接关系,得到初步的数据 where对数据进行普通的初步的 ...

  8. Hive 优化--SQL执行顺序、Hive参数、数据倾斜 、小文件优化

    优化整体思路 如果资源充足就加资源加内存, 调度链路优化,调整调度顺序,时效性要求高的模型先产出, 数据接入模块,调优数据接入工具sqoop,datax 模型设计质量不高,调整模型,提高质量和复用度, ...

  9. Spark SQL执行流程解析之 sql执行顺序

    一.Spark SQL模板解析 Spark Sql 关键字执行顺序跟Sql执行顺序类似: 1.先将from前两表做笛卡尔积加载进来形成虚拟表vt1, 2.on条件后为真的插入虚拟表形成vt2, 如果包 ...

最新文章

  1. 六月第一枪:股市震荡,下一步该做什么?
  2. Linux系统中,read文件过程分析
  3. mysql自动增长id 溢出_MySQL表自增id溢出的故障复盘怎么解决 MySQL表自增id溢出的故障复盘解决方法...
  4. spring——使用注解声明式事务整合jdbc——GRUD
  5. Project2010简易操作指南[转]
  6. 基于DEAP库的python进化算法-6.遗传算法中的约束处理
  7. 深企在VR硬件领域获多项突破
  8. cefsharp winform 页面里的单击事件不触发_事件详解C 键盘事件及事件流
  9. Structs2-基础
  10. linux 蓝牙打印机驱动安装失败,Win7蓝牙驱动安装失败的原因分析与解决方法
  11. 2021年爬虫人员必须掌握的 App 抓包工具(一):Charles
  12. 1.1.26 word内容导入PPT
  13. 五大靠谱的婚恋相亲APP详细特点缺点分析!
  14. linux mtr 安装,遇到网络问题?别慌!MTR来帮您
  15. FANUC数控机床的维修 从原理开始(二)
  16. 关于H1N1的预防,目前为止最好的忠告
  17. HTML+CSS系列学习:重生之我要精通编程语言修仙
  18. 基于SPSS的K均值算法
  19. 找到不偏科的学生(提取学生的所有课程都大于各个课程平均分的学生)
  20. UG NX二次开发(C#)-外部模式-导出dwg格式的文件

热门文章

  1. java中io与nio复制文件性能对比
  2. 关于json_decode乱码及NULL的解决方法
  3. ubuntu下安装openfetion
  4. Android12 Jetpack SplashScreen API总结
  5. Android 可视化界面编辑器无法显示界面问题的终极解决方案
  6. android 解决Error:This Gradle plugin requires Studio 3.0 minimum
  7. android音频系统之AudioTrack的使用
  8. 定义一个 圆形 Circle类 , 定义其中的长度length属性,定义一个求面积getArea()的方法。 并编写一个测试类,进行长度的赋值和展示,并调用求面积方法展示面积值。
  9. 非proguard无法发现jar(已编译)的外部引用错误,(javac + proguard 则会检查)
  10. Eclipse+Maven配置