回答編集履歴
1
ソートがインメモリにならない条件について追記
answer
CHANGED
|
@@ -4,4 +4,10 @@
|
|
|
4
4
|
EXPLAIN select url, SUM(`count`) AS count_sum from urls group by url
|
|
5
5
|
```
|
|
6
6
|
|
|
7
|
-
を使って、クエリー解析を行ってみてからになるかと思います。
|
|
7
|
+
を使って、クエリー解析を行ってみてからになるかと思います。
|
|
8
|
+
|
|
9
|
+
追記:
|
|
10
|
+
[マニュアル](https://dev.mysql.com/doc/refman/5.6/ja/internal-temporary-tables.html)によると、
|
|
11
|
+
> GROUP BY または DISTINCT 句内の、バイナリ文字列の場合に 512 バイトまたは非バイナリ文字列の場合に 512 文字より大きい文字列カラムの存在。(MySQL 5.6.15 より前のこの制限は、文字列の型に関係なく 512 バイトです。)
|
|
12
|
+
|
|
13
|
+
url が varchar(512) を超えている、もしくは text 型である場合、ソートをインメモリで行わず file を介するため、遅くなります。
|