七 31 index merge的补充说明 发布时间:2013 年 7 月 31 日 发布者: OurMySQL 有一类很少见也比较特殊的index merge,多个索引扫描后进行交集,即 Index Merge Intersection。这类执行计划比较少见(因为MySQL需要ROR的原因),但是,在合适的场景使用,效率仍然会有很大的提示,本文将看看MySQL优化器如何评估和选择此类执行计划。MySQL手册对此只是三言两语简单介绍了一下,这里做个较为详细的说明。 继续阅读全文 →
十二 11 由浅入深探究mysql索引结构原理、性能分析与优化 发布时间:2012 年 12 月 11 日 发布者: OurMySQL 本文作者历时一个月完成,详细介绍了MySQL索引的知识,强烈推荐! 继续阅读全文 →
十一 19 MySQL InnoDB B+树索引 发布时间:2012 年 11 月 19 日 发布者: OurMySQL B+树索引在DB中有一个特点就是高扇出性,一般在DB中B+树的高度在2-3层左右,也就意味着只需要2-3次的IO操作即可。而现在的磁盘每秒差不多在100次IO左右,2-3次意味着查询时间只需0.02-0.03秒。 继续阅读全文 →
三 25 mysql中index的使用 发布时间:2012 年 3 月 25 日 发布者: OurMySQL 索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位置。如果表有1000个记录,通过索引查找记录至少要比顺序扫描记录快100倍。 继续阅读全文 →
二 13 类型转换对 MySQL 选择索引的影响 发布时间:2012 年 2 月 13 日 发布者: OurMySQL 遇到了几例 MySQL 没用使用预期索引的问题,读了些文档之后,发现 MySQL 的类型转换对索引选择的影响还真是一个不大不小的坑。 继续阅读全文 →
九 27 冗余索引对查询效率的影响 发布时间:2010 年 9 月 27 日 发布者: OurMySQL 在一般的数据库书籍中,简述到如何合理创建索引时都会出现这么一段话: “索引能提高sql的执行效率,但是过多不合理的索引也会影响数据库的性能” 过度索引是如何影响数据库的性能的呢? 继续阅读全文 →
三 09 Innodb 表和索引结构 发布时间:2010 年 3 月 9 日 发布者: OurMySQL 因为Innodb表的数据是依赖于聚集索引顺序存放,同时聚集索引和数据一块存储,普通索引也需要存放一份聚集索引。所以对于聚集索引的设计尽量按顺序写入,必免数据分页,行迁移等对性能影响的现象。另外聚集索引要设计的尽可能短。从设计上必须锁的时间,大量随机IO的出现。 继续阅读全文 →
十一 18 Memory & MyISAM 引擎小注意! 发布时间:2009 年 11 月 18 日 发布者: OurMySQL 今天有朋友问题,MEMORY 引擎的表查询速度竟然比MYISAM引擎慢! 熟读手册后,你就不用有这样的疑问了。 继续阅读全文 →
九 13 Mysql combine index 发布时间:2009 年 9 月 13 日 发布者: OurMySQL Oracle的组合索引操作有2种,access和filter,当然access更好。Mysql在组合索引上,只有access,没有filter。因此要注意MYSQL处理where clause包括多个range条件的SQL语句。 继续阅读全文 →
七 17 查看索引使用情况 发布时间:2009 年 7 月 17 日 发布者: OurMySQL 使用 show status like ‘Handler_read%’; 查看索引使用情况 继续阅读全文 →