MySql索引-优化

一·理解SQL执行顺序

  1. 手写顺序
SELECT DISTINCT
	<select_list>
FROM 
	<left_table><join_type>
JION
	<right_tablr>ON<join_condition>	
WHERE 
	<where_condition>
GROUP BY
	<group_by_list>
Having
	<having_condition>
ORDER BY
	<order_by_condition>
LIMIT <limit_number>
  1. 机读顺序
FROM 
	<left_table>
ON
	<join_condition>
	<join_type>
JION
	<right_tablr>
WHERE 
	<where_condition>
GROUP BY
	<group_by_list>
Having
	<having_condition>
SELECT DISTINCT
	<select_list>
ORDER BY
	<order_by_condition>
LIMIT <limit_number>

二·JOIN类型

在这里插入图片描述

三·索引

  1. 索引(Index)
    帮助MySQL高效获取数据的数据结构,影响查找和排序。
  2. 分类
    • 单值索引:一个索引只包含单个列,一个表可以有多个单列索引
    • 唯一索引:索引列的值必须唯一,但允许有空值
    • 复合索引:一个索引包含多个列
  3. 语法
    创建
    CREATE [UNIQUE] INDEX index_name ON mytable(columnname(lenght));
    ALTER mytable ADD [unique] INDEX [indexname] ON (columnname(lenght));
    
    删除
    DROP INDEX [indexname] ON mytable
    
    查看
    SHOW INDEX FROM tabel_name \G
    
  4. 怎么创建索引
    什么情况需要创建索引
    在这里插入图片描述
    什么情况不能创建索引
    在这里插入图片描述
  5. 索引失效的原因
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值