mysql排序优化技巧
概述在使用order by时,经常出现Using filesort,所以对于此类sql语句我们需要去尽力优化,使其尽量使用Using index。那么,我们对于这类型的语句我们怎么去做优化呢?因为这一...
2024.11.20今天主要分享一下关于mysql数据库在配置上的15条建议,仅供参考。
Mysql 配置优化建议1、使用 innodb_flush_method=O_DIRECT 来避免写的时候出现双缓冲区。
2、避免使用 O_DIRECT 和 EXT3 文件系统 — 这会把所有写入的东西序列化。
3、分配足够 innodb_buffer_pool_size ,来将整个InnoDB 文件加载到内存 — 减少从磁盘上读。
4、不要让 innodb_log_file_size 太大,这样能够更快,也有更多的磁盘空间 — 经常刷新有利降低发生故障时的恢复时间。
5、不要同时使用 innodb_thread_concurrency 和 thread_concurrency 变量 — 这两个值不能兼容。
6、为 max_connections 指定一个小的值 — 太多的连接将耗尽你的RAM,导致整个MySQL服务器被锁定。
7、保持 thread_cache 在一个相对较高的数值,大约是 16 — 防止打开连接时候速度下降。
8、使用 skip-name-resolve — 移除 DNS 查找。
9、如果你的查询重复率比较高,并且你的数据不是经常改变,请使用查询缓存 — 但是,在经常改变的数据上使用查询缓存会对性能有负面影响。
10、增加 temp_table_size — 防止磁盘写。
11、增加 max_heap_table_size — 防止磁盘写。
12、不要将 sort_buffer_size 的值设置的太高 — 可能导致连接很快耗尽所有内存。
13、监控 key_read_requests 和 key_reads,以便确定 key_buffer 的值 — key 的读需求应该比 key_reads 的值更高,否则使用 key_buffer 就没有效率了。
14、设置 innodb_flush_log_at_trx_commit = 0 可以提高性能,但是保持默认值(1)的话,能保证数据的完整性,也能保证复制不会滞后。
15、有一个测试环境,便于测试你的配置,可以经常重启,不会影响生产环境。
觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~
概述在使用order by时,经常出现Using filesort,所以对于此类sql语句我们需要去尽力优化,使其尽量使用Using index。那么,我们对于这类型的语句我们怎么去做优化呢?因为这一...
2024.11.20本文主要讨论MySQL索引的部分知识。将会从MySQL索引基础、索引优化实战和数据库索引背后的数据结构三部分相关内容,下面一一展开(本文图片可点开放大)。一、MySQL索引基础首先,我们将从索引基础开...
2024.11.21Linux安装MySQL5.7转载请附上源文件地址(^ v ^)(我安装MySQL的版本是5.7.32)下载地址:https://dev.mysql.com/downloads/mysql/5.7.h...
2024.11.20一、查看MySQL 默认存储引擎执行【show engines;】命令即可查看默认存储引擎。这样就可以清楚看到你所安装的MYSQL支持的存储引擎了。其中,support:default 的选项就是MY...
2024.11.20最近在学习中用到了MySQL数据库,在安装过程中遇到了不少问题,在翻了大半天百度后,问题基本都解决了,所以写一篇MySQL 5.7 解压版的图文详细安装教程。 至于为什么我会选择解压版而不是安装版,一...
2024.11.20