1. 事务里的写操作,四种隔离级别,都会加排他锁. 2. 事务里的读操作,前三种隔离级别,不会加锁,最后一种隔离级别,会加共享锁. 3. 上面的写.读操作,都是隐式加的锁.  可以自己显示对读操作进行加锁:SELECT ... LOCK IN SHARE MODE(对这行数据加共享锁):SELECT ... FOR UPDATE(对这行数据加排它锁) 4. 事务里的锁都是同一时刻释放的,就是事务提交或者回滚的那一刻. 第三章 服务器性能剖析 show full processlist: 显示正在…
<高性能MySQL>读后感——聚簇索引 聚簇索引并不是一种单独的索引类型,而是一种数据存储方式.比如,InnoDB的聚簇索引使用B+Tree的数据结构存储索引和数据. 当表有聚簇索引时,它的数据行实际上存放在索引的叶子页(leaf page)中.因为无法同时把数据行存放在两个不同的地方,所以一个表只能有一个聚簇索引(不过,覆盖索引可以模拟多个聚簇索引的情况). 1 聚簇索引:clustered index 其实数据存储结构,索引和记录(全部)内容保存同一个结构中.“聚簇”就是索引和记录紧密在一…
<高性能Mysql>原文 聚簇索引如下图为聚簇所有的存储方式,聚簇实际不是一种索引,而是一种数据的存储方式,InnoDB的聚簇事假在同一个结构中保存了B-Tree索引和数据行. 当表有聚簇索引时,他的数据行实际存在放叶子页.InnoDb通过主键聚集数据,如果没有定义主键则InnoDB会选择一个唯一的非空索引代替.  1.聚簇索引的特性 1.1当表存在主键时,Innodb 使用 主键作为聚簇索引 1.2当表没有主键时,Innodb 使用第一个唯一约束索引(这个唯一索引必须是不包含null列的)作…
下载地址: <高性能MySQL(第3版)>编辑推荐:"只要你不敢以MySQL专家自诩,又岂敢错过这本神书?""一言以蔽之,写得好,编排得好,需要参考时容易到爆!""我可是从头到尾看了一遍上一版,可还是毫不犹豫拿起了这本书,而且看完后一点都不后悔--" 内容提要 <高性能MySQL(第3版)>是MySQL 领域的经典之作,拥有广泛的影响力.第3 版更新了大量的内容,不但涵盖了最新MySQL 5.5版本的新特性,也讲述了关于固…
高性能MySQL中的三星索引 我对此提出了深深的疑问: 一星:相关的记录指的是什么??(相关这个词很深奥,“相关部门”是什么部门) 二星:如果建立了B-Tree(B+Tree)索引,数据就有序了.三星:索引的列包含了查询需要所有的列?根本不需要在where查询条件所有的列上建立索引! 我认为一星和二星的rows应该是columns,索引不关具体的数据行,只与查询的列有关.这样也与High Performance MySQL 后面提到的多列索引的观点相符合,特别是二星评估. 个人的观点: 评估一个…
本文系阅读<高性能MySQL>,Baron Schwartz等著一书中第五章 创建高性能的索引的笔记,索引是存储引擎用于快速找到记录的一种数据结构. 索引对于良好的性能非常关键,尤其是当表中的数据量越来越大时,索引对性能的影响愈发重要.在数据量较小且负载较低时,不恰当的索引对性能的影响可能还不明显,但当数据量逐渐增大时,性能则会急剧下降. 索引优化应该是对查询性能优化最有效的手段了.索引能够轻易将查询性能提高几个数量级,最优的索引有时比一个好的索引性能要好两个数量级. 索引基础 在mysql中…
<高性能MySQL>读书笔记 一. 索引的优点 1. 索引可以让服务器快速定位到表的指定位置,大大减少了服务器需要扫描的数量: 2. 最常见的B-Tree索引按照顺序存储数据,可以用来做order by和group by操作帮助服务器避免排序和临时表: 3. 可以将随机I/O变为顺序I/O: 二. 高性能的索引策略 1. 独立的列 索引不能是表达式的一部分,也不能是函数的参数,如,下面这个查询无法使用索引: SELECT actor_id FROM actor WHERE actor_id+1…
-------------------------------------------------------------------------------------------------第一篇------------------------------------------------------------------------------------------------------------------- sql调优,主要是考虑降低:consistent gets和phys…
第5章 创建高性能的索引 本文为<高性能Mysql 第三版>第四章读书笔记,Mysql版本为5.5 索引基础 索引的重要性:找一本800面的书的某一段内容,没有目录也没有页码(页码也可类比是索引) 索引类型 B-Tree 索引 : 可用于全值匹配.最左前缀匹配.列前缀匹配.范围值匹配.精确匹配某一列并范围匹配另外一列.只访问索引的查询 ,原文截图: 哈希索引 : 只适用于精确匹配查询,不适用于范围查询 空间数据索引 : 可以有效地使用任意维度来组合查询 全文索引 : 做的事情类似于搜索引擎,而…
第1章 Mysql架构与历史 MYSQL最重要.最与众不同的特性是它的存储引擎架构,这种架构的设计将查询处理( Query Processing)及其他系统任务( Server Task)和数据的存储/提取相分离.这种处理和存储分离的设计可以在使用时根据性能.特性.以及其他需求来选择数据存储的方式. MySQL逻辑架构 第一层: 大多数基于网络的C/S的工具或服务都是类似的结构,比如连接处理 授权认证 安全 第二层: 大多数MySQL 的核心服务功能都在这一层,包括查询解析.分析.优化.缓存以及…