当前位置: 首页 > news >正文

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

文章目录

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

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

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

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

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

http://www.lryc.cn/news/266467.html

相关文章:

  • 从0开始python学习-35.allure报告企业定制
  • 蓝桥杯2020年10月青少组Python程序设计省赛真题
  • 【数据结构】布隆过滤器原理详解及其代码实现
  • Qt中实现短信验证码功能
  • Redis-运维
  • Qt制作定时关机小程序
  • LeetCode day30
  • 数据分析基础之《numpy(5)—合并与分割》
  • centos 安装 Miniconda
  • 第二百二十六回
  • ubuntu常用指令
  • Quartz.NET 事件监听器
  • 2024-AI人工智能学习-安装了pip install pydot但是还是报错
  • 在使用mapstruct,想忽略掉List<DTO>字段里面的,`data` 字段的映射, 如何写ignore: 使用@IterableMapping
  • ansible-playbook的Temlates模块 tags模块 Roles模块
  • Canal使用详解
  • 【经典LeetCode算法题目专栏分类】【第8期】滑动窗口:最小覆盖子串、字符串排列、找所有字母异位词、 最长无重复子串
  • C#和.Net常见问题记录
  • FAQ:Container Classes篇
  • 每日一题(LeetCode)----栈和队列--滑动窗口最大值
  • 13.bash shell中的if-then语句
  • 深入了解 Python 的 import 语句
  • 接口测试 — 11.logging日志模块处理流程
  • Hago 的 Spark on ACK 实践
  • mac传输文件到windows
  • trtc-electron-sdk的demo中添加更新功能以及出现的报错问题
  • 什么是流量攻击? 流量攻击怎么处理?
  • 【大数据】NiFi 的基本使用
  • 5 分钟内搭建一个免费问答机器人:Milvus + LangChain
  • WPF Border