|
|
1
2
由于tags.name是唯一一个真正减少结果集中行数的列,因此必须对它进行索引,以加快任何基于标记的搜索查询。 更新:尝试运行此查询
|
|
|
2
1
这里发生了一些事情。 首先,你现在的桌子显然很小。当表很小时,DBMS通常发现读取整个内容比使用任何索引更快。要获得有意义的解释结果,需要在表中获得实际的记录数。 看起来您还将“id”字段声明为主键。主键是索引的一个子类,因此这些索引应该是可用的。注意,解释计划指示它使用主键查找标记记录。 这个查询的明显起点是标记。因此,如果这是一个重要的查询,我将创建一个indexon标记(name)。然后就不需要按顺序搜索标记表了。 从那里,它应该按标签ID查找标签,所以您应该有一个索引。 然后它可以按文章ID查找文章。这是主键,因此它应该已经存在了。 所以我认为你会得到最有效的计划,有两个索引:标签(name)和标签(taggings)。 |
|
|
3
1
您还可以尝试使用两次联接到表,而不是使用group by。这有时会产生更快的查询:
|
|
|
Bard.Mus · 迁移后的数据库字符集环境 1 年前 |
|
Efannnnnn · 将Id数据存储到任何页面 1 年前 |
|
|
yooooo · 用于在块中删除的存储过程-LOOP未执行 1 年前 |
|
John Beasley · 更新一定数量记录的连续日期 1 年前 |
|
|
ColinM · MySQL以前的结果查询返回不正确的值 1 年前 |
|
Sergey_Z · MySQL只需无条件连接2个表和交叉连接 1 年前 |