随笔分类 - mysql
记录mysql相关学习
摘要:总结写在前面: 1.本篇介绍了全局锁、表级锁 及 行锁 2.全局锁会锁住整个库,典型使用场景是全库备份。加全局锁可能导致业务停摆或主从延迟(如果所有表都支持“可重复读”隔离级别,则建议使用mysqldump+–single-transaction) 3.表级锁包含表锁和元数据锁。表锁需要显示使用,限
阅读全文
摘要:事务特性: ACID(Atomicity、Consistency、Isolation、Durability,即原子性、一致性、隔离性、持久性) 隔离性与隔离级别 隔离级别:多个事务同时执行时,可能出现脏读、不可重复读、幻读,隔离级别是为了解决这些问题。 隔离越严实,效率越低,所以需要平衡。 事务隔离
阅读全文
摘要:总结写在前面: 1. 本篇讲述了三个例子,其本质都是揭示了若对索引字段做函数操作,可能会破坏索引值的有序性,由此优化器就决定放弃走树搜索功能。 2. 由第1点提供了一个优化思路,即我们能否避免或转化sql为不对索引字段做函数操作 条件字段函数操作 假设维护一个交易系统,其中交易记录表 tradelo
阅读全文
摘要:更新语句的流程跟查询语句大体相同: 1.连接数据库 ——连接器的工作 2.在一个表上有更新的时候,跟这个表有关的查询缓存会失效 3.分析器会通过词法和语法解析知道这是一条更新语句 4.优化器决定要使用哪个索引(更新也需要先查找到目标行) 5.执行器负责具体执行,找到需要更新的行,然后更新。 与查询流
阅读全文
摘要:索引其实就是为了提高数据查询的效率,就像书的目录一样 索引常见的三种模型: ①哈希表:k-v结构,适用于只有等值查询的场景,范围查询效率低 【插入速度很快:计算key值即可存储】 ②有序数组:等值查询和范围查询的性能就都非常优秀 【查询性能最好,效率都是二分法O(log(N)),但插入成本太高(插入
阅读全文

浙公网安备 33010602011771号