For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
数据库的架构优化是每一位软件开发程序员都需要熟练掌握的一个编程技术,下面我们就通过案例分析来了解一下,数据库优化常用方法都有哪些。
子查询优化:
子查询执行效率不高,使用关联查询(join)代替子查询。
效率不高的原因:
查询的过程中需要建立一个临时表,查询完毕,再撤销临时表。消耗性能
临时表都不会使用索引
排序优化:
前提知识:MySQL支持2中排序方式,所以优化也是从这俩方面考虑
index排序:b+树的叶子节点就是按照排序进行的,使用索引直接就可以保证有序性
FileSort排序:将需要排序的数据加载到内存中,然后进行排序。
尽量使用索引完成orderby排序。如果where和orderby后面的列相同就用单索引,不同就用联合索引。
对FileSort进行调优
前提知识:FileSort有2种算法
双路排序(慢):进行俩次磁盘扫描,一次只加载需要排序的列到sort_buffer,进行排序。然后根据排序好的列,二次从磁盘读取其他的列。
单路排序(快):一次性将所有列的数据加载到sort_buffer中,进行排序。
提高sort_buffer_size:不管哪种算法,提高这个内存值肯定加大效率。
提高max_length_for_sort_data:这个参数就是一个界限,需要返回的列总长度大于这个值就使用双路,小于这个值就使用单路。
groupby优化:
groupby优化的方法和orderby一样。
分页查询优化:
如果像下图查询的情况极端,尽量的使用表中其他字段的索引。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。