mysql存储性能优化
2014-03-12 11:32
232 查看
1、使用索引
每张表最多可以做16个索引,支持多列索引和全文索引
建立索引:create index index_name on users(username);
查看索引:show index from users;
是一把双刃剑,建不建立索引,主要看表的功能,找好一个平衡点,。
2、使用explain分析查询
在查询在用explain
explain select *from users;
3、调整mysql内部配置
(1)、改变索引缓冲区长度(key_buffer);
推荐设置整个系统内存的25%。
(2)、改变表长(read_buffer_size)
当数据库对某个表进行频繁的扫描的时候,mysql会分配一段内存缓冲区,如果觉得扫描进行的太慢,可以适当改变该值大小。
(3)、设定打开表的数目的大小(table_cache)
该变量控制mysql在任何时候打开表的最大数目,由此来控制服务器响应输入请求的能力。他跟max_connections
(4)、对缓查询设定一个时间限制(long_query_time)
ySQL带有“慢查询日志”,它会自动地记录所有的在一个特定的时间范围内尚未结束的查询。这个日志对于跟踪那些低效率或者行为不端的查询以及寻找优化对象都非常有用。long_query_time变量控制这一最大时间限定,以秒为单位。也可设置为ms,但是需要打补丁。
至于安全方面的考虑,比如测试数据库和线上分离、备份、主从等,这些后续再谈
每张表最多可以做16个索引,支持多列索引和全文索引
建立索引:create index index_name on users(username);
查看索引:show index from users;
是一把双刃剑,建不建立索引,主要看表的功能,找好一个平衡点,。
2、使用explain分析查询
在查询在用explain
explain select *from users;
3、调整mysql内部配置
(1)、改变索引缓冲区长度(key_buffer);
推荐设置整个系统内存的25%。
(2)、改变表长(read_buffer_size)
当数据库对某个表进行频繁的扫描的时候,mysql会分配一段内存缓冲区,如果觉得扫描进行的太慢,可以适当改变该值大小。
(3)、设定打开表的数目的大小(table_cache)
该变量控制mysql在任何时候打开表的最大数目,由此来控制服务器响应输入请求的能力。他跟max_connections
(4)、对缓查询设定一个时间限制(long_query_time)
ySQL带有“慢查询日志”,它会自动地记录所有的在一个特定的时间范围内尚未结束的查询。这个日志对于跟踪那些低效率或者行为不端的查询以及寻找优化对象都非常有用。long_query_time变量控制这一最大时间限定,以秒为单位。也可设置为ms,但是需要打补丁。
至于安全方面的考虑,比如测试数据库和线上分离、备份、主从等,这些后续再谈
相关文章推荐
- mysql性能优化学习笔记-存储引擎
- 【MySQL-性能优化2】 开启慢查日志的方式和存储格式
- mysql:21个性能优化最佳实践之19[选择正确的存储引擎]
- Mysql innodb存储引擎的性能优化一
- Mysql innodb存储引擎的性能优化二
- MYSQL性能优化之Mysql体系结构,存储引擎
- 总结下MySQL存储引擎的区别和性能优化的一些方法
- 对mysql存储性能优化的基本理解
- 当主机存储性能不是很理想时,对mysql io 的一些优化
- 对mysql存储性能优化的基本理解
- MySQL性能优化之存储设备
- 对mysql存储性能优化的基本理解
- MySQL性能优化的最佳20+条经验
- mysql 性能优化方向
- MySQL索引使用方法和性能优化
- MySQL性能优化的最佳21条经验
- mysql优化------2 查看系统性能(表大小,I/o性能)
- MySQL性能优化的最佳20+条经验
- MySQL 性能优化
- session存储优化之基于mysql的存取