高性能MySQL第七章 读书笔记

2020-08-05  本文已影响0人  yellowone

第七章 MySQL的高级特性

image-20200729230044885

存储代码的优点:

  1. 内部执行,离数据最近,在服务器上执行可以节省带宽和网络延迟。
  2. 代码重用。
  3. 简化代码的维护和版本更新。
  4. 通过暴露一下限制操作提升安全。
  5. 服务器会缓存存储过程的执行计划。
  6. 代码集中。

缺点:

  1. 不好调试。
  2. 代码执行效率低,函数有限。
  3. 会使应用程序代码更加复杂。
  4. 对数据库增加额外的压力。
  5. 无法控制存储过程的消耗。
  6. 异常处理非常困难。
  1. 服务端只需要解析一次SQL语句。
  2. 某些优化器的工作只需要执行一次,因为它会缓存一部分的执行计划。
  3. 只发送参数和句柄,可以减少网络开销。
  1. 绑定变量是会话级别的,断开之后就没办法再使用了。
  2. 如果每次执行sql之后都不再复用绑定变量了,效率还不如直接执行。
  3. 如果总是忘记释放绑定变量资源,则服务端很容易泄露。

无法缓存的情况,会导致状态值Qcache_not_cached增加:

  1. 查询语句存在不确定函数。
  2. 查询结果太大。

缓存可配置的参数:

  1. query_cache_type,是否打开缓存
  2. query_cache_size,缓存的总空间大小
  3. query_cache_min_res_unit,缓存中分配内存块的最小单位。
  4. query_cache_limit,能缓存的最大查询结果。
  5. query_cache_wloack_invalidate,锁的细节,通常不用管。
  6. 如果缓存没有带来什么好处,建议禁用它。
image-20200731173538255
上一篇下一篇

猜你喜欢

热点阅读