2016年1月20日
摘要: 在MySQL 5.6开始支持的一种根据索引进行查询的优化方式。之前的MySQL数据库版本不支持ICP,当进行索引查询是,首先根据索引来查找记录,然后在根据WHERE条件来过滤记录。在支持ICP后,MySQL数据库会在取出索引的同时,判断是否进行WHERE条件过滤,也就是将WHERE的部分过滤操作放在... 阅读全文
posted @ 2016-01-20 23:03 懒睡的猫熊 阅读(565) 评论(0) 推荐(0) 编辑
摘要: MySQL 5.6开始支持Multi-Range Read(MRR)优化。目的是味儿减少磁盘的随机访问,并且将随机访问转化为较为顺序的数据访问,这对IO-bound类型的SQL查询语句可带来性能极大的提升。MRR优化可适用于rangeref,eq_ref类型的查询MRR优化的好处a)MRR使数据访问... 阅读全文
posted @ 2016-01-20 22:43 懒睡的猫熊 阅读(2328) 评论(0) 推荐(1) 编辑
摘要: MySQL数据库支持索引提示(INDEX HINT)显式的高速优化器使用了哪个索引。以下是可能需要用到INDEX HINT的情况a)MySQL数据库的优化器错误的选择了某个索引,导致SQL运行很慢。这个在最新版的数据库版本中非常少见。优化器在绝大部分情况下工作的非常有效和正确。b)某些SQL语句可以... 阅读全文
posted @ 2016-01-20 22:00 懒睡的猫熊 阅读(5561) 评论(0) 推荐(1) 编辑
摘要: 优化器选择不适用索引的情况有时候,有乎其并没有选择索引而去查找数据,而是通过扫描聚集索引,也就是直接进行全表的扫描来得到数据。这种情况多发生于范围查找、JOIN链接操作等情况。例如SELECT * FROM orderdetails WHERE orderid>10000 and orderid10... 阅读全文
posted @ 2016-01-20 21:25 懒睡的猫熊 阅读(1875) 评论(0) 推荐(0) 编辑
摘要: 1) 不同应用中B+树索引的使用对于OLTP应用,由于数据量获取可能是其中一小部分,建立B+树索引是有异议时的对OLAP应用,情况比较复杂,因为索引的添加应该是宏观的而不是微观的。2) 联合索引对表上多个列进行索引。联合索引的创建方法与多个索引创建的方法一样。不同之处在于有多个索引页CREATE T... 阅读全文
posted @ 2016-01-20 19:02 懒睡的猫熊 阅读(895) 评论(0) 推荐(0) 编辑
摘要: 周三一早回到公司,收到报警发现一台MySQL服务器异常,登入发现无法启动。该机器仅供临时测试使用,故此没有太多配置,查看err日志中发现130629 5:46:48 InnoDB: Initializing buffer pool, size = 128.0MInnoDB: mmap(137363... 阅读全文
posted @ 2016-01-20 10:18 懒睡的猫熊 阅读(10296) 评论(4) 推荐(5) 编辑