Mysql语句及优化

Posted Panda_Java

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql语句及优化相关的知识,希望对你有一定的参考价值。

mysql及优化

1.整体语句顺序

2. 分页查询

2.1 语法

2.2 举例1

2.3 举例 2

3.分组查询

3.1 where 与 having区别

3.2 案例

4. 单表综合练习sql


5. 多表综合练习sql

5.1 内连接

查询两张表交集的部分

5.2 外连接

才会包含左边或者右表所有信息

5.3 自连接

5.4 子查询

6. 索引

6.1 为什么InnoDB存储引擎使用B+Tree索引结构

1.采用二叉树 按照有序的插入----》 形成链表 (搜索性能很低)
2. 红黑树—(本质也是二叉树,红黑树是一种平衡二叉查找树的变体,它的左右子树高差有可能大于 1,所以红黑树不是严格意义上的平衡二叉树(AVL)),B+相对于二叉树,层级更少,搜索效率更高。
3. b树—》叶子结点和非叶子结点 都存数据。
4. 相对于Hash索引,B+树支持范围匹配, 而hash索引只支持等值匹配

6.2 索引分类

主键索引:
唯一索引: 当把这个字段加上关键字Unique,就会为这个字段加上唯一索引(可以有多个)

InnoDb中聚集索引与非聚集索引
涉及回表查询

6.3 索引语法

6.4 索引-查看执行频次

查看当前数据库–增删改查的执行语句
show global status like ‘com_____7个’ 一个下划线代表一个字符

6.5 索引-性能分析

慢查询日志:定位哪些sql中select语句查询慢=== 针对性优化

6.6 profile 详情

show profiles

6.7 explain执行计划

  1. id

    2 type 表示连接类型

6.8 索引使用

满足:最左前缀法则---- 针对组合索引(如果最左边的索引不存在,则索引会失效)
如果跳跃了一列,则索引也会部分失效。

6.9 索引设计原则

以上是关于Mysql语句及优化的主要内容,如果未能解决你的问题,请参考以下文章

MySQL优化 慢查询的定位及优化

MySQL监控及优化

MySQL索引及查询优化总结

MySQL语句优化技巧?

MySQL的运行模式及一些特性,引擎事务并发控制优化总结

SQL语句优化 -- 以Mysql为例