1.常见的数据库优化手段

表结构优化:
表结构优化是数据库优化中最重要的,需要结合实际情况来看怎么设计更加的优化合理。

sql语句优化:
sql语法优化,写出更加便捷的sql语句;
处理逻辑优化,如配合索引和缓存的使用;
一个常见的做法是,将涉及到大数据量的sql语句记录下来,观察日志,有侧重点的优化。

分区分表:
分区是指将一张表的数据按照一定的规则分到不同的区来保存。若一张表中有几种类型,可以考虑分表。
举一个例子,分区按照月份来分,将不同类型的字段分表,这么做的好处就是增删改查数据的时候范围已经大大缩小了。

索引优化:
索引的原理是在进行增删改的时候就预先按照指定的字段顺序排列后保存了,在查找的时候就可以从索引找到对应的指针找到数据。
优点:查询效率很高 缺点:每次增删改要更新索引,降低增删改的速度。

分离活跃数据:
将活跃数据单独存放起来。
比如登录网站,可以将活跃度高的用户单独存放(依据最近登录时间或者单位时间内登录次数等),查询时先从活跃数据查找,没有再去不活跃处查找。

读写分离:
读写分离的本质是对数据库进行集群,在高并发的情况下降低单台服务器的压力。
一般将写的服务器叫主服务器,写入后同步到读服务器(即从服务器),并将读请求分配到多个服务器上。

 

2.索引的优缺点,什么字段上建立索引。

优点:
通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。
可以大大加快数据的检索速度,这也是创建索引的最主要的原因。
可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。
在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。
通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。

缺点:
创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。
索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建立聚簇索引,那么需要的空间就会更大。
当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。

参考:https://blog.csdn.net/superit401/article/details/51291603

https://www.jianshu.com/p/107e5bdf4148

 

3.数据库连接池

数据库连接池的基本思想就是为数据库连接 建立一个“缓冲池”。预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕之后再放回去。

参考:https://blog.csdn.net/frightingforambition/article/details/25464129

 

Leave a comment

电子邮件地址不会被公开。 必填项已用*标注