一、影响数据库性能的几个方面
1.服务器硬件
2.服务器操作系统
3.数据库存储引擎选择
(1)MyISAM:不支持事物,表级锁
(2)InnoDB:事物级存储引擎、完美支持行级锁、事物ACID特性
4.数据库参数配置-前三个的影响可能还没有最后一个影响大
5.数据可结构设计和SQL语句-绝大部分是慢查询,这块主要是数据库结构设计不合理造成的
二、CPU资源和可用资源大小
1.网络和IO
2.服务器硬件对性能的影响
(1)如何选择CPU密集型-是则选择更好的CPU而不是多个CPU
(2)系统并发量如何越高-CPU越多越好
(3)QPS:同时处理SQL的数量,比如一秒处理100个sql,。QPS则为100
(4)选择32位还是64位的CPU-现在主流基本是64,所以不用怎么考虑
(5)64位系统使用32位的服务器版本-位数不一致导致性能有极大限制
(6)内存(缓存)
①把数据缓存到内存中读取可以大大提高数据库性能
(7)数据库引擎存储方式
①MySIAM索引存在内存中,数据则存在操作系统
②InnoDB则同时在内存中缓存索引和数据
③内存足够情况下不仅提高读数据性能,同时也能提高写数据性能
④若把所有的数据都放在内存(缓存),对于读数据往往效率非常高
⑤缓存对于写数据的好处,例如一商品被改了一百次,内存足够的情况下只改内存,内存执行100次语句后磁盘才执行一次语句
⑥内存的选择:内存主频和CPU主频类似的,选择主频高的内存,但主要还是根据热数据的量来选择内存,例如热数据是4G,内存可以8-16G,要比热数据容量大
提示:内存越多越好,对性能的影响是有限的,并不能无限增加内存