![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库优化
oppo-s
i can
展开
-
MySQL学习笔记(-)——排序优化
MySQL是如何进行排序的? MySQL读取数据到排序缓冲区(内存)中进行快速排序,如果数据量太大,那么就会把数据进行分块然后分别进行快速排序,存储在磁盘中,最后在进行合并排序。 2.MySQL的排序的算法: 两次传输排序: Mysql把行指针(记录指针)和字段读取到内存中,然后对字段进行排序,排序完之后按照对应的行指针到磁盘上面去读取对应的记录组成结果集返回。 单次传输排序: Mysq翻译 2017-09-27 17:20:22 · 322 阅读 · 0 评论 -
IN+子查询(Mysql)
1.Mysql中的In+子查询 在写select语句的时候可能会遇见需要通过类似下面的select子查询来完成的功能: select * from table1 where id in (select id from table2 where …) 我们在审视这个select语句的时候很容易认为数据库会先执行sleect子查询然后在执行主查询。虽然这样做的话,性能会很好,但是事实并原创 2017-09-27 19:41:14 · 13856 阅读 · 0 评论 -
Mysql中的索引类型
索引作为提高查询速度的关键手段一直都是很火热的研究对象。而目前开发出来的索引的类型也是很多的,每种索引都有其优缺点,在适当的场景下使用合适的索引将会带来数量级上的的性能提升。1.索引的类型 1. BTree索引 2. 索引 3. Hash索引 4. 索引 5. suoy 6. sf 7. 索引2.索引详解 2.1 BTree索引 BTr翻译 2017-09-27 20:46:12 · 249 阅读 · 0 评论 -
Mysql学习笔记(二)——查询性能优化(一)
优化数据访问1.只查询需要的数据。 这个意思是指不要做返回大量结果然后在应用层进行筛选然后只选择了一部分。比如需要查询记录的前10条,返回了1000条,然后选择了10条就关闭了结果集。这样做会使得资源浪费在网络数据传输上面。2.多表关联返回需要的列 多表关联的时候切记不要返回全部的列,选择需要的列返回,而不是简单的使用*来返回全部的列,多余的列都是没用的数据。我们只要取需要的列。理由同上。翻译 2017-09-29 17:44:59 · 311 阅读 · 0 评论