Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 什么索引可以加速这个运行缓慢的查询?_Mysql_Sql_Query Optimization - Fatal编程技术网

Mysql 什么索引可以加速这个运行缓慢的查询?

Mysql 什么索引可以加速这个运行缓慢的查询?,mysql,sql,query-optimization,Mysql,Sql,Query Optimization,为什么这个查询在MySQL 5.5.30上运行得很慢 编辑:添加了创建表输出: | message | CREATE TABLE `message` ( `mid` int(10) NOT NULL DEFAULT '0', `sender` varchar(127) NOT NULL DEFAULT '', `date` datetime DEFAULT NULL, `message_id` varchar(127) DEFAULT NULL, `subject` te

为什么这个查询在MySQL 5.5.30上运行得很慢


编辑:添加了创建表输出:

| message | CREATE TABLE `message` (
  `mid` int(10) NOT NULL DEFAULT '0',
  `sender` varchar(127) NOT NULL DEFAULT '',
  `date` datetime DEFAULT NULL,
  `message_id` varchar(127) DEFAULT NULL,
  `subject` text,
  `body` text,
  `folder` varchar(127) NOT NULL DEFAULT '',
  PRIMARY KEY (`mid`),
  KEY `sender` (`sender`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 |

| employeelist | CREATE TABLE `employeelist` (
  `eid` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `firstName` varchar(31) NOT NULL DEFAULT '',
  `lastName` varchar(31) NOT NULL DEFAULT '',
  `Email_id` varchar(31) NOT NULL DEFAULT '',
  `Email2` varchar(31) DEFAULT NULL,
  `Email3` varchar(31) DEFAULT NULL,
  `EMail4` varchar(31) DEFAULT NULL,
  `folder` varchar(31) NOT NULL DEFAULT '',
  `status` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`eid`),
  UNIQUE KEY `Email_id` (`Email_id`),
  KEY `firstName` (`firstName`),
  KEY `lastName` (`lastName`),
  KEY `status` (`status`),
  KEY `Email2` (`Email2`,`Email3`,`EMail4`)
) ENGINE=MyISAM AUTO_INCREMENT=153 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC |

| recipientinfo | CREATE TABLE `recipientinfo` (
  `rid` int(10) NOT NULL DEFAULT '0',
  `mid` int(10) unsigned NOT NULL DEFAULT '0',
  `rtype` enum('TO','CC','BCC') DEFAULT NULL,
  `rvalue` varchar(127) DEFAULT NULL,
  `dater` datetime DEFAULT NULL,
  PRIMARY KEY (`rid`),
  KEY `rvalue` (`rvalue`),
  KEY `mid` (`mid`),
  KEY `rtype` (`rtype`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 |


我已经在recipientinfo表上添加了索引,但是我不知道应该在message表上建立什么索引以使其使用键。我猜从其他信息中我发现我应该使用复合索引,但是使用哪一个表的哪几列?“临时使用”是可以避免的吗?任何提示或帮助都非常感谢:)

为什么order by为空?出于某种原因,group_concat所需的group_表示MySQL的order_by,这将导致文件排序。如果我按null排序,我可以去掉filesort:)(),这是大量的数据。250k行*每行100个字符(我非常保守)=25 MB。25MB/1MBps=25秒。是的,这是安然邮件语料库:)它不需要传输,因为它只是在本地使用。我最担心的是消息表上没有使用索引。这对我来说是有意义的,因为所有消息都必须被遍历,因为我请求所有消息,但是我仍然可以通过不同的连接或创建一对索引来做一些事情?如果可能,在
连接上派生一个过滤表。
| message | CREATE TABLE `message` (
  `mid` int(10) NOT NULL DEFAULT '0',
  `sender` varchar(127) NOT NULL DEFAULT '',
  `date` datetime DEFAULT NULL,
  `message_id` varchar(127) DEFAULT NULL,
  `subject` text,
  `body` text,
  `folder` varchar(127) NOT NULL DEFAULT '',
  PRIMARY KEY (`mid`),
  KEY `sender` (`sender`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 |

| employeelist | CREATE TABLE `employeelist` (
  `eid` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `firstName` varchar(31) NOT NULL DEFAULT '',
  `lastName` varchar(31) NOT NULL DEFAULT '',
  `Email_id` varchar(31) NOT NULL DEFAULT '',
  `Email2` varchar(31) DEFAULT NULL,
  `Email3` varchar(31) DEFAULT NULL,
  `EMail4` varchar(31) DEFAULT NULL,
  `folder` varchar(31) NOT NULL DEFAULT '',
  `status` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`eid`),
  UNIQUE KEY `Email_id` (`Email_id`),
  KEY `firstName` (`firstName`),
  KEY `lastName` (`lastName`),
  KEY `status` (`status`),
  KEY `Email2` (`Email2`,`Email3`,`EMail4`)
) ENGINE=MyISAM AUTO_INCREMENT=153 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC |

| recipientinfo | CREATE TABLE `recipientinfo` (
  `rid` int(10) NOT NULL DEFAULT '0',
  `mid` int(10) unsigned NOT NULL DEFAULT '0',
  `rtype` enum('TO','CC','BCC') DEFAULT NULL,
  `rvalue` varchar(127) DEFAULT NULL,
  `dater` datetime DEFAULT NULL,
  PRIMARY KEY (`rid`),
  KEY `rvalue` (`rvalue`),
  KEY `mid` (`mid`),
  KEY `rtype` (`rtype`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 |