数据库优化

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.数据库集群,保证高可用,设置负载均衡,实现热备份。

原文地址:https://www.cnblogs.com/tangxz/p/7990099.html