本文主要是介绍谈谈你对数据库优化的见解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
- 数据库服务内核优化
- my.cnf,搭配压力测试进行调试
- sql语句优化
- 使用缓存优化查询 (进行多次查询的相同的查询,结果就会放入缓存中 后续同样的查询就会从数据库缓存中拿到)使用函数不确定值会刷新缓存
- explain 检测sql查询
- limit 1 明确只有一个数据的时候
- 永久链接(在一些极端环境下 apache 会发出 http请求创建子进程去请求数据库)
- 选择正确的数据库索引 myISAM 和 innoDB 对于插入操作比较友好
- 进行大量删除 和插入操作的时候 进行拆分操作 (大量数据就会表被锁起来还有大量的数据涌入 进行排队造成宕机 limit)
- 数据类型 尽量使用小的 (硬盘数据 数据紧凑会 加速查询提升io性能)
- 固定的字段长度(对于数据库 固定的长度计算偏移量会比较容易)
- 尽量不要给null值
- 明确的固定的字段上 使用枚举类型 enum(性别,国家,省市)尽量少使用varchar
- id 主键每张表都要建立 集群 分区
- 避免使用select * (select 查询越多速度就越慢 数据越多网络的传输也会负载过重)
- rand()函数 计算实在cpu上面进行的
- 链接两表的时候 join 尽量 保持两个字段的类型一致 where 后面的条件类型不一样无法创建索引
- 垂直分割将列的行时分割成表
这篇关于谈谈你对数据库优化的见解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!