数据库优化
1.尽量减少对mysql数据库的io操作。
2.sql语句的优化,尽量避免全表扫描(模糊查询,select *),子查询,条件查询附带函数等的sql语句。
3.数据库索引的优化,合理使用索引,对需要频繁查询的字段设置索引,索引能加快检索速度,但是过多的索引会导致数据维护麻烦(可能出现死索----两个或者两个以上的进程在执行中,因争夺资源(自由获得锁在进行下一步操作),造成互相等待的现象。
4.数据结构的优化:
数据类型重点在于合适二字,如何确定数据类型是否合适
a.使用可以存储你 的数据的最小的数据类型。
b.尽量使用简单的数据类型,int要比varchar在mysql上处理简单。
c.尽量使用not null定义字段
d.尽量少使用text,一定要用是考虑分表。
5.数据库设计中遵循的三范式(
6.使用缓存数据库,保存读取操作频率高的数据。
7.读写分离,主从复制:
搭建主从 数据库(master-slave模式),通过主从复制技术,让slave数据库与master数据库的数据同步,master负责写入,slave复制读取,实现数据库的读写分离。提高数据库的读写性能和可扩展性。
8.分表
水平分表,创建一个或者多个表结构一样,表名不同的表。合理设计分表的维度(比如按照年龄段或者性别将用户存在不同的表),必须要程序源知道数据存在那个表中。
垂直分表
分表操作能缓解对数据表中添加字段时整个表被锁定,无法读写的情况。
9.数据库集群,保证高可用,设置负载均衡,实现热备份。