-
//mysql 数据库优化 项目中,优化mysql之前,首先要开启慢查询日志,在分析慢查询日志. 开启慢查询日志: show variables like 'slow%'; //查看慢查询状态 set global slow_query_log_file='/home/mysql/sql_log/mysql-slow.log'; //设置慢查询记录文件的路径 set global log_queries_not_using_indexes=on; //记录未使用索引的查询 set global long_query_time=1; //设置慢查询的时间 set global slow_query_log = on; //开启慢查询日志记录查看全部
-
//mysql 数据库优化 优化的几个方面: 1 SQL及索引(提升性能最大,效率最高) 2 数据库表结构(根据范式设计表结构) 3 系统配置(linux对mysql打开文件数的限制等) 4 硬件(提高文件io的速度,但是成本最高)查看全部
-
//mysql 数据库优化 数据库优化的目的: 1 由于数据库连接timeout产生页面5xx错误 2 由于慢查询造成页面无法加载 3 由于阻塞造成数据无法提交(由于数据库的内部锁,大并发无法进行)查看全部
-
慢查询日志: show variables klike 'slow_query_log'; set global slow_query_log_file='/home/mysql/sql_log/mysql-slow.log'; set global log_queries_not_using_indexes=on; set global long_query_time=1;查看全部
-
对max()查询查看全部
-
分析sql语句查看全部
-
分析sql语句查看全部
-
1、重点优化执行次数多且占用的时间比较长的sql; 2、IO占用非常大的sql; 3、没有命中索引的sql;查看全部
-
索引优化的sql查询查看全部
-
优化的成本和效率的关系图。查看全部
-
数据库优化效果查看全部
-
开起慢查询日志查看全部
-
数据准备查看全部
-
#重要,缓冲池的大小 推荐总内存量的75%,越大越好。 innodb_buffer_pool_size #默认只有一个缓冲池,如果一个缓冲池中并发量过大,容易阻塞,此时可以分为多个缓冲池; innodb_buffer_pool_instances #log缓冲的大小,一般最常1s就会刷新一次,故不用太大; innodb_log_buffer_size #重要,对io效率影响较大。0:1s刷新一次到磁盘;1:每次提交都会刷新到磁盘;2:每次提交刷新到缓冲区,1s刷新到磁盘;默认为1。 innodb_flush_log_at_trx_commit #读写的io进程数量,默认为4 innodb_read_io_threads innodb_write_io_threads #重要,控制每个表使用独立的表空间,默认为OFF,即所有表建立在一个共享的表空间中。 innodb_file_per_table #mysql在什么情况下会刷新表的统计信息,一般为OFF。 innodb_stats_on_metadata查看全部
-
#增加tcp支持的队列数目,net.ipv4.tcp_max_syn_backlog=65535 #减少断开连接的数目,及时回收资源 net.ipv4.tcp_max_tw_buckets = 8000 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle =1 net.ipv4.tcp_fin_timeout=10查看全部
举报
0/150
提交
取消