MySQL 性能优化

91 阅读2分钟
对于一个以数据为中心的应用,数据库的好坏直接影响到程序的性能,因此数据库性能至关重要。一般来说,要保证数据库的效率,要做好以下四个方面的工作:
1.数据库设计、
2.sql语句优化、
3.数据库参数配置、
4.恰当的硬件资源和操作系统,
这个顺序也表现了这四个工作对性能影响的大小。下面我们逐个阐明:

一、数据库设计**

  适度的反范式,注意是适度的 适当建立索引 分库分表:垂直切分与水平切分

选择适当的字段类型,特别是主键** 文件、图片等大文件用文件系统[存储]不用数据库** 外键表示清楚,方便建立索引** 掌握表的写入时机** 宁可集中批量操作,避免频繁读写** 选择合适的存储引擎

二、SQL语句优化 SQL语句优化与索引优化 Sql语句优化工具 ·慢日志 Explain** 如果什么都做不了,试试全索引扫描**(索引覆盖) 三、数据库参数配置 IO参数、CPU参数: 最重要的参数就是[内存],我们主要用的innodb引擎,所以下面两个参数调的很大   innodb_additional_mem_pool_size = 64M   innodb_buffer_pool_size = 5G 对于myisam,需要调整key_buffer_size 当然调整参数还是要看状态,用show status语句可以看到当前状态, 以决定改调整哪些参数 四、合理的硬件资源和操作系统   如果你的机器[内存]超过4G,那么毋庸置疑应当采用64位操作系统和64位mysql 读写分离:主数据库负责写操作,从数据库负责读操作 硬件配置升级 数据库集群