写点什么

SQL 优化和索引

作者:lixiaofeng
  • 2021 年 12 月 11 日
  • 本文字数:1068 字

    阅读完需:约 4 分钟

SQL优化和索引

怎么写出高效的 SQL 语句,一直是开发和数据库运维关心的话题。其实这里不仅仅是 SQL 语句如何写的问题,更要知道数据是怎么存储的。为什么在某列创建了索引以后,针对改列的查询变快了。


https://mp.weixin.qq.com/s?__biz=MzA3NjMzNjg3NQ==&mid=2450196782&idx=1&sn=0eae5f98936bcf029650fb70131e569f&chksm=889d72aabfeafbbc3869820dc532320e114f89ca923b80d1d57cbe3a91fa09706173b6c43cad&token=1141129584&lang=zh_CN#rd

作者:lixiaofeng

从 0 开始,介绍数据是怎么一步一步存储到 B+树上的。根节点是怎么分裂的,中间节点是怎么分裂的,叶子节点是怎么分裂的。最后通过估算行大小来计算 3 层、4 层的 B+树可以存储多少数据。


https://mp.weixin.qq.com/s?__biz=MzA3NjMzNjg3NQ==&mid=2450196792&idx=1&sn=2d557e87a51b9ce7fd7506e333af1224&chksm=889d72bcbfeafbaa2e741836330965610d7b160739a3e1af2d4469fa2e39e0c664d2c7a49613&token=1141129584&lang=zh_CN#rd

作者:lixiaofeng

通过最直观的方式,带您了解 B+树上面的数据。清晰的展现聚集索引扫描,聚集索引查找,索引扫描,索引查找是怎么查找数据库。


https://mp.weixin.qq.com/s?__biz=MzA3NjMzNjg3NQ==&mid=2450197467&idx=1&sn=fb865274ec3f6df495487718470e3057&chksm=889d705fbfeaf949cc2cab8dca909260c053ec336e43c8745b1e528f218b6bc905580714b290&token=1141129584&lang=zh_CN#rd

作者:lixiaofeng

我们写 SQL 语句时,经常使用 inner join, outer join 等,此时左右两边的表到底是怎么连接的呢? 同样是 inner join, a inner b 和 c inner d, 数据库引擎的处理方式一样吗?


https://mp.weixin.qq.com/s?__biz=MzA3NjMzNjg3NQ==&mid=2450196733&idx=1&sn=df51e579e2bc1a1c5f7ea7775bf29114&chksm=889d7379bfeafa6f33a2078b1cd0a06bb48ac5ddfcf63afb91e60f35a4dd698821efeb2f4725&token=1141129584&lang=zh_CN#rd

作者:lixiaofeng

当两张表 join 时, 数据库引擎是怎么选择物理连接方式的?当 where 条件的两个列上都有索引时, 数据库引擎怎么选择使用哪个索引成本更优?


https://mp.weixin.qq.com/s?__biz=MzA3NjMzNjg3NQ==&mid=2450196833&idx=1&sn=d5cb343e54e774fd5afbd2b98a95e67c&chksm=889d72e5bfeafbf32ebcb285936a99589382abe2f33e7fc830271d6cb721c5550b9b8d087731&token=1141129584&lang=zh_CN#rd

作者:lixiaofeng

无论什么数据库,我们都可以从客户端看见某一天 SQL 语句的执行时间。 但是我们如何知道更加详细的信息呢? 比如读取 a 表用了多长时间? 读取了多少个页面? 是物理读取还是逻辑读取? 物理读取和逻辑读取有什么区别? 欢迎点击链接。


发布于: 刚刚阅读数: 2
用户头像

lixiaofeng

关注

还未添加个人签名 2018.04.25 加入

还未添加个人简介

评论

发布
暂无评论
SQL优化和索引