最近在走数据库的阶段,有听到过数据库优化这个词,于是做了一些总结:
1.数据库优化的好处
避免网站页面出现访问错误
由于数据库练级timeout产生页面5xx错误
由于慢查询造成页面无法加载
由于阻塞造成数据无法提交
增加数据库的稳定性
很多数据库问题都是由于低效的查询引起的
优化用户的体验
流畅页面的访问速度
良好的网站功能体验
2.优化数据库的方法
选取最适用的字段属性,尽可能减少定义字段宽度,尽量把字段设置NOTNULL,例如’省份’、’性别’最好适用ENUM
使用连接(JOIN)来代替子查询
适用联合(UNION)来代替手动创建的临时表
事务处理
锁定表、优化事务处理
适用外键,优化锁定表
建立索引
优化查询语句
3.SQL语句的优化有哪些方法?
(1)Where子句中:where表之间的连接必须写在其他Where条件之前,那些可以过滤掉最大数量记录的条件必须写在Where子句的末尾.HAVING最后。
(2)用EXISTS替代IN、用NOT EXISTS替代NOT IN。
(3) 避免在索引列上使用计算
(4)避免在索引列上使用IS NULL和IS NOT NULL
(5)对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。
(6)应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描
(7)应尽量避免在 where 子句中对字段进行表达式操作,这将导致引擎放弃使用索引而进行全表扫描
其实说起对于数据库优化,还有很多东西没有说明,后续会继续进行补充。