我有一个小而狭窄的InnoDB表,大约有900万条记录。在桌子上count(*)或count(id)桌子上做的速度非常慢(超过6秒):

DROP TABLE IF EXISTS `perf2`;

CREATE TABLE `perf2` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`channel_id` int(11) DEFAULT NULL,

`timestamp` bigint(20) NOT NULL,

`value` double NOT NULL,

PRIMARY KEY (`id`),

UNIQUE KEY `ts_uniq` (`channel_id`,`timestamp`),

KEY `IDX_CHANNEL_ID` (`channel_id`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

RESET QUERY CACHE;

SELECT COUNT(*) FROM perf2;

虽然该语句不是运行得太频繁,但对其进行优化将是不错的选择。根据http://www.cloudspace.com/blog/2009/08/06/fast-

mysql-innodb-count-really-

fast/,这可以通过强制InnoDB使用索引来实现:

SELECT COUNT(id) FROM perf2 USE INDEX (PRIMARY);

解释计划似乎很好:

id select_type table type possible_keys key key_len ref rows Extra

1 SIMPLE perf2 index NULL PRIMARY 4 NULL 8906459 Using index

什么是/如何COUNT(*)在InnoDB 上优化性能?

mysql count 优化索引_如何通过使用索引在InnoDB上优化COUNT(*)性能相关推荐

  1. mysql主键创建非聚集索引_什么是聚集索引,非聚集索引,索引覆盖,回表,索引下推...

    聚集索引 我们先建如下的一张表 CREATE TABLE `student` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '学号',`name` var ...

  2. mysql查询一个表有哪些索引_如何查看某张数据库表上都有哪些索引(转)

    索引使用简介 一. 关于索引的知识 要写出运行效率高的sql,需要对索引的机制有一定了解,下面对索引的基本知识做一介绍. 1. 索引的优点和局限 索引可以提高查询的效率,但会降低dml操作的效率. 所 ...

  3. 覆盖索引与联合索引_什么是覆盖索引?

    前言 要搞明白覆盖索引首先就得明白主键索引和辅助索引的区别,以及查询时引擎的工作方式. 当然,以上都是基于innoDB引擎来说. 主键索引与辅助索引的区别 相信大家也了解过这方面的知识,这里就不展开了 ...

  4. mysql 四叉树的应用_游戏算法(2):查找优化之四叉树的应用

    /** * 四叉树(基于2D平面空间分割)数据结构 * 四叉树或四元树也被称为Q树(Q-Tree). * 四叉树广泛应用于图像处理.空间数据索引.2D中的快速碰撞检测.存储稀疏数据等 * 为提升性能 ...

  5. mysql导出全部索引_导出数据库所有索引

    导出创建自增字段语句: `SELECT CONCAT( 'ALTER TABLE `', TABLE_NAME, '` ', 'MODIFY COLUMN `', COLUMN_NAME, '` ', ...

  6. mysql查询前段时间_没想到!我在简历上写了“精通MySQL”,阿里面试官跟我死磕后就给我发了高薪offer...

    事情是这样的 前段时间面试了阿里,大家也都清楚,如果你在简历上面写着你精通XX技术,那面试官就会跟你死磕到底. 我就是在自己的简历上写了精通MySQL,然后就开启了和阿里面试官的死磕之路,结果就是拿到 ...

  7. access建立两个字段唯一索引_关于MongoDB唯一索引(Unique)的那些事

    写在前面 关于什么是索引以及唯一索引这里就不做说明了,不清楚的可以自行谷歌或者百度.是什么引起我写这篇文章呢,这来自于之前项目中的一个问题. 我们用的是MongoDB数据存储用户信息,用户表中曾经用户 ...

  8. mysql数据库恢复数据_【技术分享】使用Innodb存储引擎的mysql数据库恢复

    作者:维一零 预估稿费:400RMB(不服你也来投稿啊!) 投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿 前言 某天,在测试一张新数据表的字段时,由于在phpmyadmin不断 ...

  9. mysql delete limit用法_你习惯delete语句后带上limit吗

    声明:本文基于MySQL讲解. 先不说习惯不习惯的,很多人也许会惊讶:还可以这样操作?其实,大家对这个操作比较陌生,也不奇怪.因为,学海无涯呀~ 语法 这个用法的详细语法是这样的:delete fro ...

最新文章

  1. LCS最长公共子序列和LIS最长上升子序列——例题剖析
  2. Unable to open the physical file XXX.mdf
  3. Oracle数据库进程杀不掉,求助oracle进程杀不死问题
  4. mysql 常见错误_mysql常见的错误提示问题处理小结
  5. js兼容注意事项--仅供参考
  6. Codeforces Round #401 (Div. 2) D. Cloud of Hashtags
  7. JDK1.8中String类的intern()方法学习
  8. 超级棒的免费前端学习路线
  9. Linux文本编辑器之vim
  10. 训练及优化神经网络基本流程之第0到6步
  11. Python的subprocess模块(一)
  12. 题目:身份证录入系统 一、语言和环境 a)实现语言Java, 使用Android开发环境实现《身份证录入系统》APP。
  13. ELK 索引抽取模板(中文索引配置not_analyzed,才能在kibana中使用terms)
  14. 3Dtouch开发内容
  15. 详谈SSD硬盘接口: SATA、mSATA 、PCIe、M.2和U.2
  16. 【Codeforces】【161Div2】
  17. hadoop是什么语言
  18. Sqli-labs Less7
  19. 基于RT-Thread+RA6M4的远程开机助手
  20. 镜像和分光采集的网卡接入方法

热门文章

  1. ios 主题切换 思路_iOS 使用 NSObject 的分类实现快速切换主题
  2. linux关机方法有哪些?有何区别_Linux关机命令大全:Linux各关机命令之间的区别和用法...
  3. LwIP应用开发笔记之四:LwIP无操作系统TFTP服务器
  4. stm32滴答计时器_stm32笔记:Systick系统滴答定时器
  5. python通讯录运用的知识点_案例驱动式Python学习--通讯录存取
  6. pythongui显示图片_opencv2.4.13+python2.7学习笔记--opencv中的Gui特性--图片:读图像,显示图像,保存图像...
  7. 挂机宝装mysql_挂机宝安装
  8. 拓扑排序排课系统_视频结构化人脸布控系统
  9. linux协议栈劫持,Linux系统优化之TCP协议栈优化-基本篇1
  10. 电大计算机网考上机操作题,电大计算机上机考试模拟题及答案 (1)