上一页 1 ··· 22 23 24 25 26
摘要: 提要 相对于纳秒级的内存访问延时,普通的机械盘达到了毫秒级的随机访问延时,对于OLTP应用来说,物理IO绝对是目前数据库管理系统的最大性能杀手,所以增加内存的大小,提高IO的命中率无疑可以作为一种降低时延的常用优化手段。 针对使用InnoDB引擎的MySQL实例来说,增加buffer pool的大小 阅读全文
posted @ 2020-07-08 21:27 Cetus-Y 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 命令的输出 MariaDB> analyze select * from tbl1 where key1 between 10 and 200 and col1 like 'foo%'\G *************************** 1\. row ****** 阅读全文
posted @ 2020-07-08 21:22 Cetus-Y 阅读(298) 评论(0) 推荐(0) 编辑
摘要: GTID 资料 MySQL 5.6 引入了global transaction identifiers (GTIDs,全局事务ID)的特性,这一特性是用来解决主从复制(replication)场景下的一些问题,GTID 只存在于 binlog 中,数据库中是没有的。 要了解 GTID 的话,官方文档 阅读全文
posted @ 2020-07-08 21:17 Cetus-Y 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 背景: Innodb引擎使用B_tree结构保存表数据,这样就需要一个唯一键表示每一行记录(比如二级索引记录引用)。 Innodb表定义中处理主键的逻辑是: 1.如果表定义了主键,就使用主键唯一定位一条记录 2.如果没有定义主键,Innodb就生成一个全局唯一的rowid来定位一条记录 auto_i 阅读全文
posted @ 2020-07-08 21:12 Cetus-Y 阅读(114) 评论(0) 推荐(0) 编辑
摘要: MariaDB 10.0.8增加了一种新的执行计划——Extended Keys。 它充分利用了InnoDB的隐藏列来做执行计划,因为我们都知道InnoDB的索引组织表会把主键放在最末尾,所以实际上每个索引最后都包含了主键。 打开和关闭这个优化器选项的命令如下: Enable: set optimi 阅读全文
posted @ 2020-07-07 22:57 Cetus-Y 阅读(410) 评论(0) 推荐(0) 编辑
摘要: 唯一索引额外功能 为了便于说明,我们创建一个简单的表t,如下: 我在这个表的字段a上创建了唯一索引,字段b上面没有索引,表里初始化两行数据,分别是(1, 1)和(2, 1)。假设我现在要执行一个新的插入语句: 就会报错: 如果我现在要给字段b上加上一个唯一索引,可以这么执行: 同样会报错: 也就是说 阅读全文
posted @ 2020-07-07 20:52 Cetus-Y 阅读(667) 评论(0) 推荐(0) 编辑
摘要: 背景 MySQL现行版本中存在一个count(distinct)语句返回结果错误的bug,表现为,实际结果存在值,但是用count(distinct)统计后返回的是0。 drop table if exists tb; set tmp_table_size=1024; create table tb 阅读全文
posted @ 2020-07-07 20:38 Cetus-Y 阅读(376) 评论(0) 推荐(0) 编辑
摘要: 背景 innodb_flush_log_at_trx_commit 这个参数可以说是InnoDB里面最重要的参数之一,它控制了重做日志(redo log)的写盘和落盘策略。 具体的参数意义见手册 简单说来,可选值的安全性从0->2->1递增,分别对应于mysqld 进程crash可能丢失 -> OS 阅读全文
posted @ 2020-07-07 20:35 Cetus-Y 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 背景 最近发布的MariaDB 10.1 Alpha版本,提交了一个改动,放宽了InnoDB Page<=16K的限制,将上限提高到64K。 从MDEV-6075需求文档中可以看出,目前只支持COMPACT的结构,DYNAMIC结构能否支持还在研究,COMPRESSED结构则确定无法支持。 业务应用 阅读全文
posted @ 2020-07-07 20:33 Cetus-Y 阅读(356) 评论(0) 推荐(0) 编辑
上一页 1 ··· 22 23 24 25 26