- 数据库服务内核优化
- my.cnf,搭配压力测试进行调试
- sql语句优化
- 使用缓存优化查询 (进行多次查询的相同的查询,结果就会放入缓存中 后续同样的查询就会从数据库缓存中拿到)使用函数不确定值会刷新缓存
- explain 检测sql查询
- limit 1 明确只有一个数据的时候
- 永久链接(在一些极端环境下 apache 会发出 http请求创建子进程去请求数据库)
- 选择正确的数据库索引 myISAM 和 innoDB 对于插入操作比较友好
- 进行大量删除 和插入操作的时候 进行拆分操作 (大量数据就会表被锁起来还有大量的数据涌入 进行排队造成宕机 limit)
- 数据类型 尽量使用小的 (硬盘数据 数据紧凑会 加速查询提升io性能)
- 固定的字段长度(对于数据库 固定的长度计算偏移量会比较容易)
- 尽量不要给null值
- 明确的固定的字段上 使用枚举类型 enum(性别,国家,省市)尽量少使用varchar
- id 主键每张表都要建立 集群 分区
- 避免使用select * (select 查询越多速度就越慢 数据越多网络的传输也会负载过重)
- rand()函数 计算实在cpu上面进行的
- 链接两表的时候 join 尽量 保持两个字段的类型一致 where 后面的条件类型不一样无法创建索引
- 垂直分割将列的行时分割成表
相关文章
- 10-04请谈谈你对ooM的认识
- 10-04谈谈你对SpringIOC的理解
- 10-04面试官:谈谈你对Android性能优化方面的了解?
- 10-04你好,谈谈你对前端路由的理解
- 10-04谈谈你对webpack的认识
- 10-04物联网新技术 作业 谈谈你对5G6G看法 自己想法的文字50%
- 10-04谈谈你对Web标准以及W3C的理解和认识。
- 10-04谈谈你对GC Roots的理解
- 10-04面试篇 —— 谈谈你对volatile关键字的理解
- 10-04面试篇 —— 谈谈你对CAS的理解