mysql不同的类的个数_Mysql数据库-SQL优化-统计某种类型的个数

有时我们想统计某种类型有多少个,会用这个SQL。全表扫描之余,还要filesort,耗时1.34秒。

mysql> select country,count(*) from t1 group by country;

+---------+----------+

| country | count(*) |

+---------+----------+

| NULL | 32 |

| africa | 524288 |

| america | 524288 |

| china | 524288 |

+---------+----------+

4 rows in set (1.34 sec)

mysql> desc select country,count(*) from t1 group by country;

+----+-------------+-------+------+---------------+------+---------+------+---------+---------------------------------+

| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |

+----+-------------+-------+------+---------------+------+---------+------+---------+---------------------------------+

| 1 | SIMPLE | t1 | ALL | NULL | NULL | NULL | NULL | 1573382 | Using temporary; Using filesort |

+----+-------------+-------+------+---------------+------+---------+------+---------+---------------------------------+

1 row in set (0.00 sec)

以下是两种优化方法,都是全表扫描,但估计count()要比sum()耗的CPU少点,方法更佳。

mysql> select count(country='africa' or null) as africa,count(country='america' or null) as america, count(country='china' or null) as china from t1;

+--------+---------+--------+

| africa | america | china |

+--------+---------+--------+

| 524288 | 524288 | 524288 |

+--------+---------+--------+

1 row in set (0.78 sec)

mysql> desc select count(country='africa' or null) as africa,count(country='america' or null) as america, count(country='china' or null) as china from t1;

+----+-------------+-------+------+---------------+------+---------+------+---------+-------+

| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |

+----+-------------+-------+------+---------------+------+---------+------+---------+-------+

| 1 | SIMPLE | t1 | ALL | NULL | NULL | NULL | NULL | 1573382 | |

+----+-------------+-------+------+---------------+------+---------+------+---------+-------+

1 row in set (0.00 sec)

mysql> select sum(country='africa') as africa ,sum(country='america') as america,sum(country='china') from t1;

+--------+---------+----------------------+

| africa | america | sum(country='china') |

+--------+---------+----------------------+

| 524288 | 524288 | 524288 |

+--------+---------+----------------------+

1 row in set (0.86 sec)

mysql> desc select sum(country='africa') as africa ,sum(country='america') as america,sum(country='china') from t1;

+----+-------------+-------+------+---------------+------+---------+------+---------+-------+

| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |

+----+-------------+-------+------+---------------+------+---------+------+---------+-------+

| 1 | SIMPLE | t1 | ALL | NULL | NULL | NULL | NULL | 1573382 | |

+----+-------------+-------+------+---------------+------+---------+------+---------+-------+

1 row in set (0.00 sec)

版本mysql5.5.30

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/487546.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

『实践』Matlab实现Flyod求最短距离及存储最优路径

Matlab实现Flyod求最短距离及存储最优路径 一、实际数据 已知图中所有节点的X、Y坐标。 图中的节点编号:矩阵中的编号 J01-J62:1-62; F01-F60:63-122; Z01-Z06:123-128; D01-D02:129-130. 二、Floyd求所有节点间的最小距离及通过矩阵存储最优路径的节点 1 function …

MIT Technology Review 2020年“十大突破性技术”解读 【中国科学基金】2020年第3期发布...

来源:国家自然科学基金委员会MIT Technology Review 2020年“十大突破性技术”解读[编者按] 2020年2月26日,MIT Technology Review一年一度的“十大突破性技术”榜单正式发布。自2001年起,该杂志每年都会评选出当年的…

动态代理Java实现

思考:在IBuyWatermelon添加一个方法selectWatermelon() 静态代理中需要在RealSubject中实现该方法,而且Proxy也要实现该方法调用RealSubject中的实现,如果再增加10个方法还是得这样操作,导致大量的代码重复。 现在来看动态代理&am…

mysql 非等值条件 索引_慢SQL简述与定位

慢SQL日志简述通过命令和查看日志文件的方式直接查看mysql服务器的慢sql参数配置参数作用slow_query_log是否启用slow_query_log_file日志文件long_query_time慢sql阈值log_slow_adimin_statements是否记录数据库管理相关的sqllong_queries_not_using_indexes是否记录未使用索引…

大数据是怎么知道你去过新发地的?

来源:科学加(北京科技报记者:赵天宇)“经过全市大数据分析,您可能在5月30日(含)以后去过新发地批发市场……”随着新发地市场新冠源头被锁定,近日来,大数据筛查,成为不少北京市民在朋…

[模板]洛谷T3379 最近公共祖先(LCA) 倍增+邻接表

一年前听说的这东西。。。现在终于会了。。。 1 #include<cstdio>2 #include<iostream>3 #include<cstring>4 #include<cmath>5 #include<ctime>6 #include<cstdlib>7 8 #include<string>9 #include<stack>10 #include<que…

mysql更新数据能回滚吗_MySQL数据回滚-误更新和删除时快速恢复

这世界上有后悔药– www.houhuiyao.cc 后悔药数据恢复 站长语前面的内容也提到过update或delete误更新删除了数据后如何恢复。实际生产环境中常常因各种不同场景导致一些办法有效一些办法无效&#xff0c;当然&#xff0c;最有效的办法依然是备份&#xff01;虽然啰嗦&#xff…

口罩巨头挑战“量子霸权”,3个月造出的『最强量子计算机』靠谱不?

摘要霍尼韦尔(Honeywell)最近可是非常忙活。作为全球数一数二的口罩厂商&#xff0c;疫情期间霍尼韦尔一直在努力生产口罩&#xff0c;大家对它的印象也多停留在口罩生产者的层面。但是事实上&#xff0c;人家是正经的多元化高科技制造企业&#xff0c;航空产品、汽车产品、涡轮…

三极管稳压管组成的线性电源关键理解

1. A点电压为20V.B点电压是稳压管电压5.6V.则A到B的电流是固定的。 2. 加电后在调整三极管&#xff0c;负载&#xff0c; 稳压管的电流回路如图。&#xff08;注意电流方向&#xff0c;a->b电流方向和大小都是基本不变的。&#xff09; 转载于:https://www.cnblogs.com/ture…

oci连接mysql_使用 OCILIB 连接并操作 Oracle 数据库

OCILIB是一个跨平台的Oracle驱动程序&#xff0c;可提供非常快速和可靠地访问Oracle数据库。它提供了一个丰富&#xff0c;功能齐全&#xff0c;并易于使用的APIOCILIB是一个跨平台的Oracle驱动程序&#xff0c;&#xff0c;可提供非常快速和可靠地访问Oracle数据库。它提供了一…

万字长文:2020智源大会总结-多角度看AI的未来

来源&#xff1a;混沌巡洋舰导读&#xff1a;智源大会2020 聚焦AI的未来&#xff0c;大家都知道&#xff0c; 2010是深度学习的时代&#xff0c; 我们经历了AI从巅峰进入到瓶颈的过程。那么什么是2020这个十年AI的中心&#xff1f;近一段大家逐步从各个不同的角度切入到这个主题…

python OCR 图形识别

1、pip install pyocr 2、pip install PIL 3、安装tesseract-ocr http://jaist.dl.sourceforge.net/project/tesseract-ocr-alt/tesseract-ocr-setup-3.02.02.exe exe文件&#xff0c;下载后直接安装&#xff0c;建议默认安装过程中的选项&#xff0c;安装目录默认C:\Program F…

python生成文件夹并向文件夹写文件_python - 文件练习生成100个MAC地址写入文件

需求&#xff1a;生成100个MAC地址并写入文件中&#xff0c;MAC地址前6位(16进制)为01-AF-3B解题思路&#xff1a;要求生成这样格式的mac地址&#xff1a;01-AF-3B-xx-xx-xx首先生成-xx格式&#xff0c;16进制组成的数,注意MAC英文字母为大写。拼接成为&#xff1a;01-AF-3B-xx…

智能发展与双重建构

来源&#xff1a; 人机与认知实验室本文摘自1983.5《国内哲学动态》皮亚杰有关同化和顺应及其平衡的图式学说是对智慧机制的一种结构主义的共时性分析,但是他更重视对智慧机制进行建构主义的历时性研究。主体关于客体的知识以及主体自身的认识图式都不仅仅是一种状态体系 , 而首…

2017.09.21学习总结

两天的时间主要学习了html的基本结构&#xff0c;标签&#xff0c;列表以及表格。 表格方面<td><tr>总是弄混&#xff1b; 合并用起来有些眼花&#xff0c;不过仔细的研究一下还是没什么问题。 加油&#xff01;努力&#xff01;目标&#xff1a;资深码农~~转载于:…

springboot2整合mysql5_SpringBoot2整合SSM框架详解

SpringBoot2整合SSM框架详解发布时间&#xff1a;2019-01-15 21:33,浏览次数&#xff1a;1218, 标签&#xff1a;SpringBootSSM<>开发环境* 开发工具&#xff1a;Eclipse STS插件* JDK版本&#xff1a;9.0.4* MySQL版本&#xff1a;8.0.12* Spring Boot版本&#xff1a;…

前途无量的MEMS传感器

来源&#xff1a;转载自「民生证券」&#xff0c;谢谢微机电系统&#xff08;Microelectromechanical Systems&#xff0c;简称 MEMS&#xff09;是将微电子技术与精密机械技术结合发展出来的工程技术&#xff0c;尺寸在 1 微米到 100 微米量级&#xff0c;涵盖机械&#xff08…

怎么查看kudu的版本_apache版本kudu kudu-impala安装方法

kudu安装方法简介第一步&#xff1a;下载rpm包http://archive.cloudera.com/kudu/redhat/6/x86_64/kudu/5.12.2/RPMS/x86_64/kudu-1.4.0cdh5.12.20-1.cdh5.12.2.p0.8.el6.x86_64.rpmkudu-client-devel-1.4.0cdh5.12.20-1.cdh5.12.2.p0.8.el6.x86_64.rpmkudu-client0-1.4.0cdh5.…

错误:子进程 已安装 pre-removal 脚本 返回了错误号 1

解决办法sudo rm /var/lib/dpkg/info/<package name>.*转载于:https://www.cnblogs.com/rabitvision/p/7588113.html

【技术趋势】德勤发布2020技术趋势报告,五个新趋势可引发颠覆性变革

来源&#xff1a;产业智能官“2020 年的趋势将颠覆整个行业&#xff0c;并在未来十年重新定义业务&#xff0c;即使数字创新已成为各种规模企业的常规行为。”德勤管理咨询新兴技术研究总监兼政府及公共服务首席技术官 Scott Buchholz 在一份报告中如是说。近日&#xff0c;《德…