mysql 子查询 性能_mysql子查询性能
我的SQL(带有子查询)需要很长时间(将近24小时)。使用子查询对性能不好?
我的表如下
mysql> show create table eventnew;
CREATE TABLE `eventnew` (
`id` int(50) NOT NULL AUTO_INCREMENT,
`date` datetime DEFAULT NULL,
`src_ip` int(10) unsigned DEFAULT NULL,
`src_port` int(10) unsigned DEFAULT NULL,
`dst_ip` int(10) unsigned DEFAULT NULL,
`dst_port` int(10) unsigned DEFAULT NULL,
`repo_ip` varchar(50) DEFAULT NULL,
`link` varchar(50) DEFAULT NULL,
`binary_hash` varchar(50) DEFAULT NULL,
`sensor_id` varchar(50) DEFAULT NULL,
`repox_ip` int(10) unsigned DEFAULT NULL,
`flags` varchar(50) DEFAULT NULL,
`shellcode` varchar(1000) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `date` (`date`),
KEY `sensor_id` (`sensor_id`),
KEY `src_ip` (`src_ip`)
) ENGINE=MyISAM AUTO_INCREMENT=883278 DEFAULT CHARSET=latin1我的SQL如下所示:
SELECT COUNT( DISTINCT binary_hash ) AS cnt
FROM eventnew
WHERE DATE >= '2010-10-16'
AND DATE < '2010-10-17'
AND binary_hash NOT
IN (
SELECT DISTINCT binary_hash
FROM eventnew
WHERE DATE < '2010-10-16'
AND binary_hash IS NOT NULL
)以下是运行结果EXPLAIN:
+----+--------------------+----------+-------+---------------+------+---------+------+--------+-------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+--------------------+----------+-------+---------------+------+---------+------+--------+-------------+
| 1 | PRIMARY | eventnew | range | date | date | 9 | NULL | 14296 | Using where |
| 2 | DEPENDENT SUBQUERY | eventnew | range | date | date | 9 | NULL | 384974 | Using where |
+----+--------------------+----------+-------+---------------+------+---------+------+--------+-------------+
mysql 子查询 性能_mysql子查询性能相关推荐
- mysql 子查询分页_MySQL子查询,正则表达式,索引,分页,三大范式
子查询 可以将子查询放在许多的 SQL 子句中,包括: • WHERE 子句• HAVING 子句 • FROM 子句 使用子查询的原则 • 子查询放在圆括号中. • 将子查询放在比较条件的右边. • ...
- mysql查询最大值_MySQL 子查询——查询最大值
子查询指将一个查询语句嵌套在另一个查询语句中.子查询可以在 SELECT.UPDATE 和 DELETE 语句中使用,而且可以进行多层嵌套.在实际开发时,子查询经常出现在 WHERE 子句中.子查询在 ...
- mysql 关联查询慢_mysql慢查询语句分析总结
我们经常会接触到MySQL,也经常会遇到一些MySQL的性能问题.我们可以借助慢查询日志和explain命令初步分析出SQL语句存在的性能问题 通过SHOW FULL PROCESSLIST查看问题 ...
- mysql 高级查询词_Mysql高级查询语句
Exists子查询 Exists的特点 1.在执行create或drop语句前,可以使用exists语句来判断数据库对象是否存在,返回值是true或false drop table if exists ...
- mysql 慢日志 作用_MySQL慢查询日志的作用和开启
前言 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中.lon ...
- mysql 查询重写_mysql 学习 - 查询重写规则
条件化简 我们编写的查询语句的搜索条件本质上是一个表达式,这些表达式可能比较繁杂,或者不能高效的执行,MySQL的查询优化器会为我们简化这些表达式. 移除不必要的括号 有时候表达式里有许多无用的括号, ...
- mysql 前30秒_mysql – 简单查询需要15-30秒
以下查询非常简单.它从消息表中选择最后20条记录,以便在分页方案中使用.第一次运行此查询时,需要15到30秒.后续运行只需不到一秒钟(我预计会涉及一些缓存).我试图确定为什么第一次这么长时间. 这是查 ...
- mysql慢查询单位_MySQL慢查询
MySQL的慢查询,全名是慢查询日志,是MySQL提供的一种日志记录,用来记录在MySQL中响应时间超过阀值的语句.具体环境中,运行时间超过long_query_time值的SQL语句,则会被记录到慢 ...
- mysql数据库查询笔记_mysql笔记: 查询
mysql笔记: 查询 查询准备 CREATE DATABASE search; use search; # 学生表(student):学号.姓名.性别.出生日期.班级 CREATE TABLE st ...
- c mysql清理日志文件_MySQL 一般查询日志或者慢查询日志历史数据的清理
general log&slow query log 对于MySQL的一般查询日志和慢查询日志,开启比较简单,其中公用的一个参数是log_output,log_output控制着慢查询和一般查 ...
最新文章
- 多线程threading
- 基于OpenCV进行相机标定
- Spring Boot Spring MVC异常处理原理分析
- Mysql数据库安全性问题【防注入】
- javascript中的Date类型
- 遥感数字图像处理 初体验
- php中的$_get参数带分号,PHP中GET传参,各参数之间使用分号(;)符号进行分隔。...
- 关于分卷压缩文件打不开的问题
- 关于语雀知识库的二三事
- 手机测试移动网速的软件,移动测试网速(中国移动在线测速)
- linux服务上实现web在线编辑,利用 ONLYOFFICE 将在线文档编辑器集成到 Python Web 应用程序中 | Linux 中国...
- 线性可变位移传感器行业调研报告 - 市场现状分析与发展前景预测
- 电脑小知识:最常用的10个电脑技巧
- ubuntu16.04无线网卡rtl8723be驱动问题
- 我的面试经历(2013.5)
- 如何展示舞台灯光秀的艺术表现力
- 什么是电商GMV(成交总额)?
- 【Python】——多项式
- python-爬取糗事百科段子
- 网站锚点执行平滑滚动
热门文章
- vue ,solt 插值组件新内容
- Selenium2.41.0—获取动态资源 (转)
- 深度解析服务器需要虚拟化的两大条件
- 利用iptables实现SNAT及DNAT
- HDU4530:小Q系列故事——大笨钟
- Lua概念定义及相关资料
- struts2.0中struts.xml配置文件详解
- c++不好可以学qt吗_学美容好不好,学美容有前途吗?
- C++如何生成随机数
- 米莱迪机器人加物理攻击_自拍、航拍、运动拍“ALL IN ONE”,臻迪PowerEgg X开启全新未来...