可重复读解决了哪些问题? 对 SQL 慢查询会考虑哪些优化 ?

可重复读解决了哪些问题?

(1)可重复读的核心就是一致性读(consistent read);保证多次读取同一个数据时,其值都和事务开始时候的内容是一致,禁止读取到别的事务未提交的数据,会造成幻读。
(2)而事务更新数据的时候,只能用当前读。如果当前的记录的行锁被其他事务占用的话,就需要进入锁等待。
(3)查询只承认在事务启动前就已经提交完成的数据。
(4)可重复读解决的是重复读的问题,可重复读在快照读的情况下是不会有幻读,但当前读的时候会有幻读。

对 SQL 慢查询会考虑哪些优化 ?

(1)分析语句,是否加载了不必要的字段/数据。
(2)分析 SQL 执行计划(explain extended),思考可能的优化点,是否命中索引等。
(3)查看 SQL 涉及的表结构和索引信息。
(4)如果 SQL 很复杂,优化 SQL 结构。
(5)按照可能的优化点执行表结构变更、增加索引、SQL 改写等操作。
(6)查看优化后的执行时间和执行计划。
(7)如果表数据量太大,考虑分表。
(8)利用缓存,减少查询次数。

相关推荐

  1. 查询&sql&索引优化

    2023-12-24 00:26:05       22 阅读
  2. SQL-查询的定位及优化

    2023-12-24 00:26:05       31 阅读
  3. 数据库SQL排查及优化问题

    2023-12-24 00:26:05       42 阅读
  4. ElasticSearch 查询优化手段有哪些

    2023-12-24 00:26:05       51 阅读
  5. 告别查询解密MySQLSQL分析定位

    2023-12-24 00:26:05       44 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-24 00:26:05       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-24 00:26:05       106 阅读
  3. 在Django里面运行非项目文件

    2023-12-24 00:26:05       87 阅读
  4. Python语言-面向对象

    2023-12-24 00:26:05       96 阅读

热门阅读

  1. 自动驾驶数据集waymo

    2023-12-24 00:26:05       68 阅读
  2. 自然语言处理阅读第三弹

    2023-12-24 00:26:05       57 阅读
  3. 网络架构与协议

    2023-12-24 00:26:05       40 阅读
  4. 武汉灰京文化市场推广的巧妙策略

    2023-12-24 00:26:05       65 阅读
  5. leetCode算法—14. 最长公共前缀

    2023-12-24 00:26:05       66 阅读
  6. hyperf 十八 数据库 一

    2023-12-24 00:26:05       56 阅读