mysql group by 慢_mysql“group by”查询非常慢

我在一个有大约100k记录的表中有这个查询,它运行得很慢(3-4s),当我取出组时它更快(少于0.5s).我很想知道如何解决这个问题:

SELECT msg.id,

msg.thread_id,

msg.senderid,

msg.recipientid,

from_user.username AS from_name,

to_user.username AS to_name

FROM msgtable AS msg

LEFT JOIN usertable AS from_user ON msg.senderid = from_user.id

LEFT JOIN usertabe AS to_user ON msg.recipientid = to_user.id

GROUP BY msg.thread_id

ORDER BY msg.id desc

msgtable在thread_id,id,senderid和recipientid上有索引.

解释回报:

id select_type table type possible_keys key key_len ref rows Extra

1 SIMPLE msg ALL NULL NULL NULL NULL 162346 Using temporary; Using filesort

1 SIMPLE from_user eq_ref PRIMARY PRIMARY 4 db.msg.senderid 1

1 SIMPLE to_user eq_ref PRIMARY PRIMARY 4 db.msg.recipientid 1

任何想法如何在返回相同结果时加快速度(每个线程有多个消息,我想在此查询中每个线程只返回一条消息).

提前致谢.

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

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

相关文章

拦截QT关闭窗口的CloseEvent

QDialog类下有一个虚函数 void QDialog::closeEvent ( QCloseEvent * e ) [virtual protected] 通过实现closeEvent函数,就可以以对关闭窗口消息进行拦截,比如程序还没有完成工作时,可以弹出警告窗口,即使用户确认退出操作…

mysql8.0本机登录要1秒_Mysql8.0的登录大坑……(忘记登录密码也可以这么搞)

关于安装和使用就不说了,属于基本操作了;我来重点记录一下关于使用前,使用navicat登录的时候报错,1130和2059查看安装后随机生成的密码: grep temporary password /var/log/mysqld.log原因:mysql8的密码验证…

Gmail邮箱添加域名解析

主机记录 MX 服务器地址 优先级 MX ASPMX.L.GOOGLE.COM. 10 MX ALT1.ASPMX.L.GOOGLE.COM. 20 MX ALT2.ASPMX.L.GOOGLE.COM. 20 MX ASPMX2.GOOGLEMAIL.COM. 30 MX ASPMX3.GOOGLEMAIL.COM. 30 MX ASPMX4.GOOGLEMAIL.COM. 30 MX ASPMX5.GOOGLEMAIL.COM. 3…

tidb vs mysql_一个长耗时SQL在TiDB和Mysql上的耗时测试

之前看到的TiDB和MySql的性能对比都是大量短耗时请求下的压测,单机情况下TiDB和MySql的确有些差距,不过笔者最近碰到的场景更多是sql要扫描的行数不小的情况下单sql比较耗时的问题,所以自己做了个简单测试这类型sql的耗时。TiDB单机环境部署g…

Oracle存储过程(转)

存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 IS 3 BEGIN 4 NULL; 5 END; 行1: CREATE OR REPLACE PROCEDURE 是一个SQL语句通知Oracle数据库去创建一个叫做skeleton存储过程, 如果存在就覆盖它; 行2: IS关键词表明后面将跟随一个PL/SQL体。 行3: BEGIN关键词表明…

win10 python 调用模块_python常识系列14--gt;python通过jpype模块调用jar包

前言能坚持一件事,本身就是一种很了不起的才华。一、jpype模块是什么?能够让 python 代码方便地调用 Java 代码的工具二、jpype模块安装安装和其它模块没区别,但是注意模块名 是 jpype1 ,后面有个1pip install jpype1三、jpype模块…

js 定时器

Document自带的方法: 循环执行:var timeid window.setInterval(“方法名或方法”,“延时”);window.clearInterval(timeid); 定时执行:var tmid window.setTimeout(“方法名或方法”, “延时”);window.c…

mysql 载入主体时出错_mysql遇到load data导入文件数据出现1290错误的解决方案

错误出现情景在cmd中使用mysql命令,学生信息表添加数据。使用load data方式简单批量导入数据。准备好文本数据: xueshengxinxi.txt 文件 数据之间以tab键进行分割执行 “load data infile 文本数据路径 into table tab_load_data” 弹出错误。#load d…

JavaScript快速入门(四)——JavaScript函数

函数声明 之前说的三种函数声明中(参见JavaScript快速入门(二)——JavaScript变量),使用Function构造函数的声明方法比较少见,我们暂时不提。function func() { }和var func function() { }除了在声明提升…

mysql 5.6 ibdata1_mysql 里的 ibdata1 文件不断的增长?

我们在 Percona 支持栏目经常收到关于 MySQL 的 ibdata1 文件的这个问题。当监控服务器发送一个关于 MySQL 服务器存储的报警时,恐慌就开始了 —— 就是说磁盘快要满了。一番调查后你意识到大多数地盘空间被 InnoDB 的共享表空间 ibdata1 使用。而你已经启用了 inno…

HashMap解读

hashcode()方法和equals()方法。使用这两个方法,一个对象能够存储或从一个Hashtable,HashMap,HashSet 被检索。 hashcode(): This method is used to get unique integer for given object. This integer is used to find bucket when storin…

mysql查询两个小时前的数据_ORACEL数据库获取两个时间之前的小时数

一、获取两个时间之前的小时数select ceil((To_date(2008-05-01 02:00:00 , yyyy-mm-dd hh24-mi-ss) - To_date(2008-04-30 23:59:59 , yyyy-mm-dd hh24-mi-ss)) * 24 ) 在厂小时数 FROM SCM_GDHJLD2二、截取字符串select substr(DIAODAOJIAOWANSHIJIAN,1,18) from SCM_GDHJLD2…

windows下git bash乱码问题

1,/etc/gitconfig: [gui]encoding utf-8 #代码库统一用urf-8,在git gui中可以正常显示中文 [i18n]commitencoding GB2312 #log编码,window下默认gb2312,声明后发到服务器才不会乱码 [svn]pathnameencoding GB2312 #支持中文路径 2,/etc/git-completio…

redmine两个mysql_Redmine3.4.2安装记(Win10+MySql)

一、准备工具二、安装安装railsinstaller-3.3.0.exe,解压redmine-3.4.2.zip到Sites目录下(默认在系统盘C:\下)创建空数据库和用于访问redmine数据库的用户MySql5.7.18CREATE DATABASE redmine CHARACTER SET utf8;CREATE USER redminelocalhost IDENTIFIED BY redmi…

python删除文件夹中的jpg_Python简单删除目录下文件以及文件夹的方法

本文实例讲述了python简单删除目录下文件以及文件夹的方法。分享给大家供大家参考。具体如下: #!/usr/bin/env pythonimport osimport shutilfilelist[]rootdir"/home/zoer/aaa"filelistos.listdir(rootdir)for f in filelist:filepath os.path.join( ro…

关于生活

最近的实习生活,以及遇到的几个小伙伴让我真正意识到了“生活”。在此记录一下。以后我会每周至少一篇博文,记载这周所学,所思。 转载于:https://www.cnblogs.com/istudy2012/p/4376649.html

python去重且顺序不变_Python实现嵌套列表去重方法示例

发现问题python嵌套列表大家应该都不陌生,但最近遇到了一个问题,这是工作中遇到的一个坑,首先看一下问题raw_list [["百度", "CPY"], ["京东", "CPY"], ["黄轩", "PN"], [&quo…

【原创】Kakfa utils源代码分析(一)

Kafka.utils,顾名思义,就是一个工具套件包,里面的类封装了很多常见的功能实现——说到这里,笔者有一个感触:当初为了阅读Kafka源代码而学习了Scala语言,本以为Kafka的实现会用到很多函数编程(Functional Pr…

redhad yum 安装mysql_redhat7通过yum安装mysql5.7.17教程

rhel/centos系列linux操作系统自身没有mysql的源,需要自行下载安装。本文介绍如何安装mysql5.7.x数据库。第一步:下载源[rootclient ~]# wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm注意:选择mysql57-community-…

codechef Polo the Penguin and the Tree

一般xor 的题目都是用trie解决。 那这道题是在树上的trie; 首先:从root1,遍历树得到1到所有节点的xor 值。 然后对于每个点我们把其插入二进制树中。 对于每一个点查找其二进值异或值最大的数 依次遍历下来。 注意:边的数量开两倍以上,RE很多…