随笔分类 -  Mysql

摘要:Mysql 为了控制事务隔离,防止数据跑偏采用了多种机制来保证事务的准确性; 背景: 1、log 使用(write ahead log),落盘前先写log; 事务开始的时候就记录undo log,用于失败回滚; 事务提交的时候会记录redo log,可以用来回放保证事务提交的一致性;当然redo l 阅读全文
posted @ 2021-10-12 11:33 lion_eagle 阅读(774) 评论(0) 推荐(0)
摘要:InnoDB 是按照索引来存储数据的;用户数据都存储在聚簇索引中; 每个索引有自己的数据空间,一个索引会有两个独立的空间(段 segment),一个段用来存储非叶子节点索引数据,一个段用来存储叶子节点数据; 段又会细分为64个块(extend - 1MB),每个块是由256个页(page - 16K 阅读全文
posted @ 2019-07-01 13:54 lion_eagle 阅读(1763) 评论(0) 推荐(0)
摘要:需求: 有这样一张表(数据有5KW左右),我需要按照时间过滤出一部分数据,然后将这部分数据分页获取; id 主键 create_date 时间戳 (二级索引) 还有其他几十个字段 问题描述: 我写的SQL大致如下: SELECT 很多个字段 FROM 表 WHERE create_date <= ' 阅读全文
posted @ 2019-06-27 16:13 lion_eagle 阅读(1176) 评论(2) 推荐(0)
摘要:Mysql 目前有4种行格式:Redundant、Compact、Dynamic、Compressed Version 5.6 已经默认使用 Compact Version 5.7 默认使用Dynamic Redundant 是比较老的数据格式,Compressed 不能应用在System data 阅读全文
posted @ 2019-06-26 14:35 lion_eagle 阅读(5184) 评论(0) 推荐(0)
摘要:字符集与字符比较 字符集 字符集是某种字符的集合,比如最常见的ASCII码,由127个字符组成,只需要一个字节就能表示; 我们常说的字符集还是GBK、ISOXXX、UTF8; Mysql 我们使用得最多的字符集就是GBK 和 UTF8了;他们都是变长字符集,如果字符在ASCII范围内就使用一个字节表 阅读全文
posted @ 2019-06-20 09:41 lion_eagle 阅读(179) 评论(0) 推荐(0)
摘要:Mysql锁类型: 一、普通锁、读锁(共享锁)、写锁(排他锁); 1、普通锁 串行、互斥 2、读锁 先加读锁后,可以与其他读锁共存 3、写锁 先加写锁,不能与其他锁共存 redo/undo日志 在开始事务前会先保存一份undo日志,这份日志可以用于其他线程读取,也可用于新事务失败后回滚。 inser 阅读全文
posted @ 2018-10-10 14:31 lion_eagle 阅读(368) 评论(0) 推荐(0)