数据库服务器的内核优化
my.cnf配置,搭配压力测试进行调试
sql语句调优
1.使用缓存优化查询
进行多次相同查询,结果会放入缓存中,后续再进行相同查询,就可以直接从缓存中提取,不会到表中查询。
需要避免缓存失效
2.explain检测sql查询
3.给搜索字段简历索引
where后面的字段
4.limit1
明确只需要一行数据
5.永久链接
在一些极端的环境中,apache会发出http请求,创建子进程去请求数据库
6.数据库引擎
myisam:大数据量查询,不适合插入。表锁
innodb:适合插入,不适合查询。
7.在进行大量删除和插入容易宕机
8.数据类型 尽量使用小的
9.固定字段长度trim 去空格
计算偏移量轻松
10.尽量不用赋null值
11.明确的固定的字段上使用枚举类型enum(性别、国家)速度快
12.id主键
尽量不用varchar提高查询性能
缺点:
13.避免使用select *
原因:查的越多,速度越慢,数据越多对网络的传输也会负载过重
14.少用random()
计算是在cpu上进行
15.连接表 join
尽量保持两个字段类型一致
16.垂直分割
将表按列分割