十一 07 [MySQL优化案例]系列 — 分页优化 发布时间:2014 年 11 月 7 日 发布者: OurMySQL 随着分页数量的增加,SQL查询耗时也有数十倍增加,显然不科学。今天我们就来分析下,如何能优化这个分页方案。 一般滴,想要优化分页的终极方案就是:没有分页,哈哈哈~~~,不要说我讲废话,确实如此,可以把分页算法交给Sphinx、Lucence等第三方解决方案,没必要让MySQL来做它不擅长的事情。 当然了,有小伙伴说,用第三方太麻烦了,我们就想用MySQL来做这个分页,咋办呢?莫急,且待我们慢慢分析,先看下表DDL、数据量、查询SQL的执行计划等信息 继续阅读全文 →
七 15 [MySQL优化案例]系列 — RAND()优化 发布时间:2014 年 7 月 15 日 发布者: OurMySQL 众所周知,在MySQL中,如果直接 ORDER BY RAND() 的话,效率非常差,因为会多次执行。事实上,如果等值查询也是用 RAND() 的话也如此,我们先来看看下面这几个SQL的不同执行计划和执行耗时。 继续阅读全文 →
六 10 SQL常见的可优化点 发布时间:2014 年 6 月 10 日 发布者: OurMySQL 从以下角度考虑常见的优化点:索引相关、高效分页、高效地利用primary key、高效join。 继续阅读全文 →
四 07 InnoDB还是MyISAM 再谈MySQL存储引擎的选择 发布时间:2014 年 4 月 7 日 发布者: OurMySQL 两种类型最主要的差别就是Innodb 支持事务处理与外键和行级锁.而MyISAM不支持.所以MyISAM往往就容易被人认为只适合在小项目中使用。 我作为使用MySQL的用户角度出发,Innodb和MyISAM都是比较喜欢的,但是从我目前运维的数据库平台要达到需求:99.9%的稳定性,方便的扩展性和高可用性来说的话,MyISAM绝对是我的首选。 继续阅读全文 →
二 18 MySQL数据库优化实践 发布时间:2014 年 2 月 18 日 发布者: OurMySQL 最近一段时间,我们整理了一些关于Percona,Linux,Flashcache,硬件设备的优化经验,分享给大家。 继续阅读全文 →
九 23 避免临时表,SQL语句性能提升100倍 发布时间:2013 年 9 月 23 日 发布者: OurMySQL 线上mysql数据库爆出一个慢查询,DBA观察发现,查询时服务器IO飙升,IO占用率达到100%, 执行时间长达7s左右。 继续阅读全文 →
九 15 MySQL数据库InnoDB存储引擎在线加字段实现原理详解 发布时间:2013 年 9 月 15 日 发布者: OurMySQL 腾讯互娱内部维护了一个MySQL分支,基于官方5.5.24,实现了类似于Oracle 11g的快速加字段功能,这个分支我们内部称为TMySQL。该功能通过扩展存储格式来实现,原理类似于Oracle 11g,以下介绍下其实现原理。 继续阅读全文 →
九 06 关于RDS实例CPU超过100%的分析 发布时间:2013 年 9 月 6 日 发布者: OurMySQL RDS-mysql由于有资源的隔离,不同的实例规格拥有的iops能力不同,比如新1型提供的iops为150个,也就是每秒能够提供150次的随机磁盘io操作,所以如果用户的数据量很大,内存很小,由于iops的限制,一条慢sql就很有可能消耗掉所有的io资源,而影响其他的sql查询,对于数据库来说就是所有的sql需要执行很长的时间才能返回结果,对于应用来说就会造成整体响应的变慢;所以优化永不止境,既可以帮助你的系统稳定,同时又可以节约你的成本,何乐不为。 继续阅读全文 →
九 05 Unique索引优化实践 发布时间:2013 年 9 月 5 日 发布者: OurMySQL Unique索引,有时也称Primary Key索引,顾名思义就是对于这个索引字段每个doc的值都是唯一的,如各种id字段:product id,customer id, campaign id和bidword id等。这种类型的索引一般用来进行高效的查询,最典型的应用场景就是进行附表join查询,即对主表中查到的每一个doc,都在附表中查询其对应的附表doc信息。所以,对这种类型的索引进行优化会对整体查询性能有很好的提升,特别是在主表查询的结果很多的情况下。本文主要总结一下对于这种类型索引的优化实践,包括全量和实时增量的情况。 继续阅读全文 →