今天数据库上课的时候讲了SQL优化。那我这里就把我的笔记整理一下,
其实将的这些东西还是蛮有意思的

硬件优化

首先就是硬件的优化

内存

这个东西当然是最后越大越好,如果有一张表的大小是一个G,那么就至少要占用一个G的内存

硬盘

然后就是硬盘,硬盘这个东西在企业这个级别这里并不是越快越好,而是最求稳定,
也就是说硬盘最好是机械硬盘而不是固态硬盘。
一个是固态硬盘这个东西寿命是不如机械硬盘的,
第二个是在某种情况下有可能会出现掉速。

网络

网络主要就是看稳定性,然后就是时延,当然是响应速度越快越好

但是很多的时候就是有一个问题,预算不足以在硬件上优化所以就是只能在软件上优化

软件优化

版本

就是说版本的不同,sql的一些功能也会不同,版本不是说越新的版本越好

SQL引擎

不同的sql引擎有不同的作用,比如Myisam这个引擎就是说,
比较轻量,比较快,在性能上面表现出色
而像InnoDB这种引擎,就是支持事务,相对来说安全稳定,支持的数据量更大一些

分库分表

如果说你有一张表,这张表的数据有一个G,
那么当你要查询的时候就是需要吧这张表全部加载到内存里面,
那么就至少需要一个G的内存,这样对内存的消耗是很大的
所以可以将大的数据库分成小的,把大的表分成小的表,
这样就可以解决这个问题

读写分离

这里就是有一个读写的主从,写是主,读是从,
一个主可以对应多个从也就是说,写只有一个,从有多个,
而这就可以提升了性能,因为大多数的情况下,我们只要读而不是写

sql语句的优化

暂时老师还没讲,等下次上课,在说


一个好奇的人