75得票3回答
使用索引、使用临时表、使用文件排序-如何修复这个问题?

我正在开发一个事件跟踪系统,该系统使用了一些查找表以及主要的日志记录表。在我编写的报告中,可以选择一个对象来查看其统计信息。界面按重要性(即点击次数)递减的顺序显示所有对象。这两个表的架构如下(稍微精简了一下,但你能明白大意):CREATE TABLE IF NOT EXISTS `event...

18得票5回答
MYSQL性能慢,使用了文件排序。

我有一个简单的MySQL查询,但当有很多记录(目前有103,0000条)时,性能非常慢,并且它显示正在使用文件排序(filesort),我不确定这是否是导致它变慢的原因。 有人有任何建议来加速它吗?或停止它使用文件排序吗? MYSQL查询:SELECT * FROM adverts W...

15得票3回答
MySQL解释:是什么导致了“Using temporary; Using filesort”?

我打算使用这个SQL SELECT创建一个视图,但是它的解释显示它正在使用临时文件和文件排序。我无法确定需要哪些索引来解决此问题。 主要是想知道为什么它使用文件排序而不是使用索引进行排序。 以下是我的表格:CREATE TABLE `learning_signatures` ( `sig...

11得票6回答
虽然存在索引,但复杂的MySQL查询仍然使用文件排序。

我有一个Joomla表格,其中有成千上万行的内容(约3百万)。在查询表格时,我正在努力重写数据库查询语句,以使其尽可能快。以下是我的完整查询语句:SELECT cc.title AS category, a.id, a.title, a.alias, a.title_alias, a.intr...

9得票3回答
MySQL慢查询:INNER JOIN + ORDER BY导致文件排序。

我正在尝试优化这个查询: SELECT `posts`.* FROM `posts` INNER JOIN `posts_tags` ON `posts`.id = `posts_tags`.post_id WHERE (((`posts_tags`.tag_id...

8得票1回答
为什么MySQL Innodb在存在唯一索引时会“创建排序索引”?

在一个简单但非常大的Innodb表格上,我有一个唯一索引在A列上,我想按照A列的顺序获取B列(整数)的列表。这是一个非常简单的查询,我正在浏览数百万条记录,但是执行以下查询语句: SELECT B FROM hugeTable ORDER BY A LIMIT 10000 OFFSET 50...