天天看点

mysql优化系列(一)- 前言前言一、什么是性能优化?二、mysql视图的基础总结

文章目录

  • 前言
    • 为什么要进行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语句封装起来

  1. 只是保存了数据结构,并不是真实的数据

    好处:简化操作 类似php代码的封装方法,把一条sql语句封装起来

  2. 降低耦合
  3. 安全性=》针对程序员 比较适合一些政府结构,银行项目 需要一些保密信息较强的项目
  • 缺点:
1.如果发生变化,视图需要手动修改

2.触发器=》针对写的操作(insert delete update)

  • 优点
1.日志记录,资金流水 =》 银行类型的项目
注意:项目当中类似触发器的业务会很多,但是mysql的触发器并不一定适用的多,代码层面有很多方法可以代替
  • 缺点
1.如果是批量操作就不适用,触发器异常很难查找

3.存储过程 (类似触发器)不过可以使用变量等 更复杂的语句

对于mysql并不友好,sqlserver orcale sqlserver=》期望将所有的业务交由存储过程来处理
  • 优点

1.执行快(代码执行快)-》预编译-》第一次 运行存储过程,第二次就不需要编译了

2.减少网络流量

  • 缺点

1.不好维护

2.移植性很差,并且不好调试,也不易拓展

总结

  • 这三个优化方法的一致性:

优点,安全,保密性

从数据库直接操作的,没有经过程序处理

比较适合一些项目:政府机关,银行

继续阅读