mysql 避免使用临时表_从日期范围中选择时防止MySQL使用临时表
我试图阻止mysql在此查询中创建临时表
SELECT `vendor_id`,SUM(`qty`) AS `qty`
FROM `inventory_transactions`
WHERE `inventory_transactions`.`date`
BETWEEN '2018-10-21 00:00:00' AND '2018-10-22 23:59:59'
GROUP BY `vendor_id`
我试着重新排列索引,使用
SELECT DISTINCT
,
MIN(vendor_id)
MAX(vendor_id)
,添加
COUNT(*)
试图查看是否使用索引进行排序的列。
我有过
ix(date,type,vendor_id)
在每一个变化以及个别指标中。
date
专栏,这不是我想要的。
有人知道怎么修理吗?
表架构
CREATE TABLE `transactions` (
`id` int(11) NOT NULL,
`vendor_id` int(11) DEFAULT NULL,
`type` varchar(50) DEFAULT NULL,
`unit_cost` decimal(10,2) NOT NULL,
`qty` decimal(11,2) DEFAULT NULL,
`location_id` int(11) NOT NULL,
`date` timestamp NOT NULL,
PRIMARY KEY (`id`),
KEY `location_id` (`location_id`),
KEY `type` (`type`),
KEY `vendor_id` (`vendor_id`) USING BTREE,
KEY `date` (`date`,`vendor_id`,`type`) USING BTREE,
CONSTRAINT `transactions_ibfk_1` FOREIGN KEY (`location_id`) REFERENCES `locations` (`id`),
CONSTRAINT `transactions_ibfk_3` FOREIGN KEY (`vendor_id`) REFERENCES `vendors` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
解释
+----+-------------+------------------------+------------+-------+----------------------+------------+---------+------+------+----------+-----------------------------------------------------------+
| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
+----+-------------+------------------------+------------+-------+----------------------+------------+---------+------+------+----------+-----------------------------------------------------------+
| 1 | SIMPLE | inventory_transactions | NULL | range | vendor_id,date | date | 4 | NULL | 1196 | 100.00 | Using where; Using index; Using temporary; Using filesort |
+----+-------------+------------------------+------------+-------+----------------------+------------+---------+------+------+----------+-----------------------------------------------------------+
1 row in set, 1 warning (0.00 sec)
mysql 避免使用临时表_从日期范围中选择时防止MySQL使用临时表相关推荐
- mysql为什么添加索引_当我添加新索引时,为什么MySQL中索引的基数保持不变?
如果表中只有1行,则索引的基数当然应为1.它只是计算唯一值的数量. 如果您将索引视为基于存储桶的查找表(如散列),则基数是存储桶的数量. 以下是它的工作原理:当您在一组列(a,b,c,d)上构建索引时 ...
- mysql case break_按月转移日志表中日志时,mysql总是报‘MySQL server has gone away’这样的错!...
我有一段清除数据库日志的脚用来按月清除数据库中的日志文件然后再把它们按月分表存储,脚本平时运行正常但是每到月初一定会报一次'MySQL server has gone away'这样的错,不知道为什么 ...
- mysql datetime 默认值_老大让我整理下公司内部MySQL使用规范,分享给大家
作者:白程序员的自习室 链接:https://www.studytime.xin/article/mysql-internal-specifications.html 最近涉及数据库相关操作较多,公司 ...
- mysql访问类型最好的_【干货满满】最全的MySQL性能指南(一):选择最佳的数据类型...
对于 MySQL 数据库来说,好的逻辑表和物理表的规划至关重要,我们需要根据查询语句来针对性地设计 Schema ,没有万能好用的 Schema.一个 denormalized 的 schema 可以 ...
- Mysql怎么把8位数变成日期,SQL中如何将数字型转换为日期型
在线QQ客服:1922638 专业的SQL Server.MySQL数据库同步软件 展开所有 为了便于存储和查询,通常选择以毫秒或秒为单位存储时间.但是,显示页面时,它不直观,您需要将整个e799be ...
- mysql 运行sql 编码_关于解决运行 sql 文件时, 找不到 MySQL 默认编码 utf8mb4 的问题...
关于解决运行 sql 文件时, 找不到 MySQL 默认编码 utf8mb4 的问题 本人小白一名, 最近碰到了一个问题, 在 navicat 导入 MySQL 文件时, 报出 MySQL 找不到 u ...
- 口碑好的mysql数据监控平台_构建狂拽炫酷屌的 MySQL 监控平台
prometheus+grafana 对于现在这个时间点来说,相信很多同行都应该已经开始玩起来了,当仍然可能有一部分人可能还不知道prometheus+grafana 的存在,也可能还有一部分人虽然知 ...
- mysql 查看用户权限_在Navicat Premium中管理MySQL用户 - 第4部分:权限管理器工具
更多资源请查看:[Navicat使用教程2019.1] | [Navicat Data Modeler使用教程] 第4部分:Privilege Manager(权限管理器)工具 在本系列教程中,我们一 ...
- centos6安装mysql并远程连接_如何开启phpstudy中mysql的远程连接
phpstudy是一款非常方便的php集成环境,许多人会使用它作为PHP网站的实验环境.phpstudy中也集成了Mysql数据库,那么集成环境中的mysql数据库如何才能远程连接呢? 通常情况下,实 ...
最新文章
- 16DOM之事件基础
- js_高级_面向对象编程案例---理解面向对象编程思想很重要
- LibreOJ #6002. 「网络流 24 题」最小路径覆盖
- C++——构造高度平衡的BST,并按层序输出
- stm32f103r8t6的晶振频率_STM32F103R8T6[1]
- 果断收藏!Git和GitHub大神常用的20个技巧!
- java+yeild+sleep_java之yield(),sleep(),wait()区别详解-备忘笔记[转]
- android 取消多个闹钟,如何在android中取消闹钟
- 466.统计重复个数
- matlab 输入数据类型,Matlab数据类型及基本输入输出
- axure能做剪切蒙版吗_二手车销售好做吗?没经验能做二手销售吗?
- 「奶茶鼠太空系列」「敷衍熊探索发现系列」数字藏品限量抢!
- ssis trainning
- Vue项目中 sass安装
- Matlab之合并音频
- Ubuntu 14.04 Linux 3D桌面完全教程,显卡驱动安装方法,compiz特效介绍,常见问题解答
- 【推荐】ubuntu中经常使用的几款不错的小工具
- 宋晓丽20190919-1 每周例行报告
- Ansoft家族介绍
- python连接sql server数据库(pyodbc)
热门文章
- Oracle中exp,imp的使用详解
- memcached failed to listen问题解决以及 结束daemon的方法
- 函数式编程之-拒绝空引用异常(Option类型)
- 哈希查找解决地址冲突的两种最常见方法(线性探测再散列,链地址法)C++实现
- hdfs/hbase 程序利用Kerberos认证超过ticket_lifetime期限后异常
- 利用宝塔 开启apache tomcat ssl 失败的解决方法
- C#正则表达式引发的CPU跑高问题以及解决方法
- MacBook Pro休眠掉电、耗电量大问题解决方案
- ubuntu 下更新pip后发生 ImportError: cannot import name ‘main‘的问题解决
- 如何检测文本文件的编码/代码页