数据库的优化是一项重要的技能,我们希望通过不同的优化方式来达到提高MySQL数据库性能的目的。博主在学习数据库期间基础的优化知识总结出来,仅供参考,欢迎讨论和指正。
1优化查询
1.1 索引对查询速度的影响
索引可以快速定位表中的某条记录,使用索引可以提高数据库的查询速度,从而提高数据库的性能。
注意以下几点:
索引会使得插入速度变慢;
如果查询语句中使用LIKE关键字,只有%放置在非首位索引才会被使用;
如果查询语句中使用多列索引,只有查询条件使用了第一个字段才会使用索引);
如果查询语句中有OR关键字,需要两个条件都是索引才能使用索引。
1.2 优化子查询
子查询是在我们的查询中使用很频繁,子查询可以使得我们的查询很灵活,但是因为它在查询过程中,MySQL需要为内层查询语句的查询结果建立一张临时表,外层在查询临时表中的记录。查询结束后,还需要撤销临时表。由此可见,子查询会使得性能降低。因此推荐在查询中多使用连接查询。
1.3 将字段很多的表分解
我们在查询中很有可能只需要查询某些特定的字段,比如我们查询学生表格,更多的是关心学生的学号、姓名和学院等基本信息,对其生日家庭住址等字段查询频率很低。因此我们将高频查询的字段提取到新的表中,达到提高查询作用。
1.4 增加中间表
多表查询过程会降低MySQL的查询速度,我们可以通过建立中间表来提高查询速度。通过分析经常需要同时查询的这些表中的极端,将这些极端建立一个中间表,并从原表中的数据插入,下次查询我们只需要查询中间表数据即可,达到提高性能的目的。
2 优化插入记录的速度
2.1 禁用索引或者禁用唯一性检查
插入记录的时候,索引、唯一性校验都会影响插入记录的速度,因此我们在权衡查询插入速度的条件下,合理地禁用索引或者禁用唯一性检查。
2.2 优化INSERTY语句
插入多条语句我们希望一个INSERT插入多条记录,因为这样可以减少与数据库之间的连接操作,性能更加。
3分析表、检查表和优化表
分析表主要分析关键字的分布,检查表主要是检查表是否存在错误,优化表的主要作用是消除删除或者更新造成的空间浪费
4 优化服务器硬件
通俗点,就是买买买高配电脑,提升硬件条件
5 优化MySQL的参数
内存中会为MySQL保存部分的缓存区,可以通过合理地设置MySQL中的配置文件中缓存区的大小来提高数据库的性能。