笔记:索引和SQL查询优化(待补充)

本文介绍了数据库索引的不同类型,如B树索引、哈希索引等,并提出了提高查询效率的策略,包括避免在索引字段中使用表达式、使用前缀索引等。此外,还详细讨论了SQL优化技巧,如减少不必要的列提取、优化表连接及使用索引等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考书 《高性能 MySQL》
书中索引和SQL的优化经验不但适用于MySQL,大部分也适用于PostgreSQL、Oracle、DB2、SqlServer,以及Mongodb。

一.索引类型

1.B树索引
2.哈希索引
3.空间索引 (地理空间数据)
4.全文索引 

二.索引使用策略

1.字段中不应该有表达式

低效:select * from foo where id + 1 = 8
高效:select * from foo where id = 7

低效: select * from foo where TO_DAYS('2012-12-12') -TO_DAYS(date_col) <=10
高效: select * from foowhere date_col> DATE_SUB('2012-12-12',INTERVAL10 DAY)


2.前缀索引

3.聚集索引

4.覆盖索引

三、SQL优化

1.不要提取不需要的列

2.表连接的查询一般比子查询更快

3.优化表连接:
确保ON或USING使用的列上有索引
确保Group By 和 Order By 只引用一个表上的列,这样MySQL会尝试使用索引



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值