mysql优化-总述
2016-07-14 13:03
351 查看
mysql用户手册优化篇读书笔记
可以从两个大的方面来着手优化mysql
(频繁更新的表的列数不宜太多)
2.是否设计了正确的索引。
3.是否为每个表选择了合适的存储引擎,并充分利用了存储引擎的特性。
4.是否为每个表选择了合适的行存储格式。比如压缩存储占用少的磁盘空间,减少I/O操作,但占用更多的cpu。
5.是否选用了合适的锁策略。(选择合适的存储引擎是关键,锁策略由存储引擎控制)
6.缓存的使用。足够大的缓存来容纳经常访问的对象,同时也要考虑到实际可用的内存。缓存配置有INNODB buffer pool,MyISAM key cache以及MySQL query cache
2.磁盘的读写速度。
3.CPU的频率
4.内存带宽
可以从两个大的方面来着手优化mysql
首先是从mysql数据库层面来优化,包括以下几个方面
1.表结构的设计。包括表的字段类型时否合适;表的列数是否合适,OLTP的应用应设计为多表少列,OLAP的应用应设计为多列少表;(频繁更新的表的列数不宜太多)
2.是否设计了正确的索引。
3.是否为每个表选择了合适的存储引擎,并充分利用了存储引擎的特性。
4.是否为每个表选择了合适的行存储格式。比如压缩存储占用少的磁盘空间,减少I/O操作,但占用更多的cpu。
5.是否选用了合适的锁策略。(选择合适的存储引擎是关键,锁策略由存储引擎控制)
6.缓存的使用。足够大的缓存来容纳经常访问的对象,同时也要考虑到实际可用的内存。缓存配置有INNODB buffer pool,MyISAM key cache以及MySQL query cache
其次从硬件层面来优化
1.磁盘查找速度。 单个磁盘查找一块数据的时间基本少于10ms,一秒内可以做100次查询,在此基础上很难再有效的优化。考虑到成本,提高查找速度的方法是把数据分布在多块磁盘上,做并行查找。2.磁盘的读写速度。
3.CPU的频率
4.内存带宽
使用hint优化
在sql语句中使用 /*! MySQL-specific code */来添加hint相关文章推荐
- mysql优化-sql语句
- mysql优化-索引
- mysql优化-数据库结构
- mysql优化-innodb表
- 深入理解乐观锁与悲观锁
- mysql server问题汇总
- mysql 5.6 参数详解
- MySQL数据库系列之数据库设计原则
- sphinx 配置文件全解析
- MySQL 5.7 参数 – log_timestamps
- mysql常用字符串操作函数大全,以及实例
- MySQL 拷贝数据库表方式备份,还原后提示 table xxx '' doesn`t exist
- Mysql数据库设计
- MySQL并发复制系列二:多线程复制
- mysql并发复制系列 一:binlog组提交
- Spark踩坑记——数据库(Hbase+Mysql)
- 解决 The mysql extension is deprecated and will be r
- 执行常用的mysql数据库操作
- MYSQL 备份工具
- mysql主从同步报错