文章目录
- 前言
-
- 为什么要进行mysql优化
- 一、什么是性能优化?
- 二、mysql视图的基础
-
- 1.视图->主要针对查询
- 2.触发器=》针对写的操作(insert delete update)
- 3.存储过程 (类似触发器)不过可以使用变量等 更复杂的语句
- 总结
前言
为什么要进行mysql优化
- 避免网站页面出现访问错误
1. 由于数据库练级timeout产生页面5xx错误
2. 由于慢查询造成页面无法加载
3. 由于阻塞造成数据无法提交
- 增加数据库的稳定性
1.很多数据库问题都是由于低效的查询引起的
2.系统的吞吐量瓶颈往往出现在数据库的访问速度上
3.随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢
4.数据是存放在磁盘上的,读写速度无法和内存相比
- 优化用户的体验
1.流畅页面的访问速度
2.良好的网站功能体验
一、什么是性能优化?
不影响系统运行的情况下,去完成特定的工作
优化权重,越往上成本越高,效果越差
数据表 > sql语句 > 数据库参数配置 > 硬件资源优化
二、mysql视图的基础
1.视图->主要针对查询
只是保存了数据结构,并不是真实的数据
好处:简化操作 类似php代码的封装方法,把一条sql语句封装起来
只是保存了数据结构,并不是真实的数据
好处:简化操作 类似php代码的封装方法,把一条sql语句封装起来
- 降低耦合
- 安全性=》针对程序员 比较适合一些政府结构,银行项目 需要一些保密信息较强的项目
- 缺点:
1.如果发生变化,视图需要手动修改
2.触发器=》针对写的操作(insert delete update)
- 优点
1.日志记录,资金流水 =》 银行类型的项目
注意:项目当中类似触发器的业务会很多,但是mysql的触发器并不一定适用的多,代码层面有很多方法可以代替
- 缺点
1.如果是批量操作就不适用,触发器异常很难查找
3.存储过程 (类似触发器)不过可以使用变量等 更复杂的语句
对于mysql并不友好,sqlserver orcale sqlserver=》期望将所有的业务交由存储过程来处理
- 优点
1.执行快(代码执行快)-》预编译-》第一次 运行存储过程,第二次就不需要编译了
2.减少网络流量
- 缺点
1.不好维护
2.移植性很差,并且不好调试,也不易拓展
总结
- 这三个优化方法的一致性:
优点,安全,保密性
从数据库直接操作的,没有经过程序处理
比较适合一些项目:政府机关,银行