索引与SQL优化

1.1索引

        索引是存储引擎用于快速定位记录的一种数据结构,简单来说索引的出现就是为了提高数据的查询效率,就像书的目录一样 。索引有多种类型,B+数是InnoDB引引擎默认的索引结构。

1.2索引的分类

单值索引:一个索引只包含单个列,一个表中可以有多个单值索引

唯一索引:索引列的值必须唯一,可为空

复合索引:一个索引包括多个列

1.3注意事项

小型表(<一万)主键扫描更高效

中型以上(>10万)索引效果好,单表索引不能过多

主键不仅是一种索引类型,也是一种存储方式

1.4SQL优化和索引优化
        随索引下推(ICP) 等技术从MySQL5.6开始引入,MySQL的查询效率得以提高。但依赖索引不

都是简单的单列索引,而是考虑了查询条件和查询列的多列复合索引。所以建立索引的时候要尽量

考虑建立多列索引,做查询的时候尽量考虑查询最少的列

        索引是一把双刃剑(最重要的优化手段&影响写入的速度);多列索引效果好,善用多列索引

SQL优化首先要结合业务需求优化,其次要结合索引优化。

1.5

例题一:

优化前:

select cpc from cpc_daily

where darte_format('time','%Y-%m-%d') = date_frommat(now()),'%Y-%m-%d');

优化后:

select cpc from cpc_daily where 'time' > date_format(now(),'%Y-%m-%d');

例题二:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值