質問編集履歴

2

タイトル誤りについて記載しました。

2017/03/09 05:41

投稿

mosa
mosa

スコア218

test CHANGED
File without changes
test CHANGED
@@ -1,3 +1,21 @@
1
+ **###############################################
2
+
3
+ 大変申し訳ありません。タイトルと内容が一致していなかったため、意味不明な質問になっていました。
4
+
5
+ 問題自体は解決しました。お騒がせしました。
6
+
7
+ ###############################################**
8
+
9
+
10
+
11
+ ---
12
+
13
+
14
+
15
+
16
+
17
+
18
+
1
19
  いつもお世話になっております。
2
20
 
3
21
 
@@ -86,7 +104,7 @@
86
104
 
87
105
 
88
106
 
89
-
107
+ ```
90
108
 
91
109
  MariaDB [cake]> select count(*) from hoge;
92
110
 
@@ -117,3 +135,5 @@
117
135
  +-----------------------+
118
136
 
119
137
  1 row in set (0.00 sec)
138
+
139
+ ```

1

情報を追加しました。

2017/03/09 05:41

投稿

mosa
mosa

スコア218

test CHANGED
File without changes
test CHANGED
@@ -13,6 +13,36 @@
13
13
  以下のクエリを実行すると、OrderBy句に b が入っているため、Using Index Condition, **Using FileSort** となってしまいます。
14
14
 
15
15
 
16
+
17
+ DDL
18
+
19
+ ```SQL
20
+
21
+ CREATE TABLE IF NOT EXISTS `hoge` (
22
+
23
+ `id` INT NOT NULL AUTO_INCREMENT,
24
+
25
+ `a` INT NULL,
26
+
27
+ `b` INT NULL,
28
+
29
+ `c` INT NULL,
30
+
31
+ `d` INT NULL,
32
+
33
+ PRIMARY KEY (`id`),
34
+
35
+ INDEX `idx01` (`a`, `b`, `c`, `d`))
36
+
37
+ ENGINE = InnoDB
38
+
39
+ ;
40
+
41
+ ```
42
+
43
+
44
+
45
+ SQL
16
46
 
17
47
  ```SQL
18
48
 
@@ -44,6 +74,46 @@
44
74
 
45
75
  Index Condition として既に使用しているキーを OrderBy の第2ソートキーで再度使用することはできないのでしょうか。
46
76
 
47
- つまり、上記のクエリで Using FileSort を発生させない方法はないのでしょうか。
77
+ つまり、上記のクエリで Using Index Condition を維持したまま Using FileSort を発生させない方法はないのでしょうか。
48
78
 
49
79
  (sort buffer を増やす、とかはなしで)
80
+
81
+
82
+
83
+
84
+
85
+ ---
86
+
87
+
88
+
89
+
90
+
91
+ MariaDB [cake]> select count(*) from hoge;
92
+
93
+ +----------+
94
+
95
+ | count(*) |
96
+
97
+ +----------+
98
+
99
+ | 1048576 |
100
+
101
+ +----------+
102
+
103
+ 1 row in set (0.45 sec)
104
+
105
+
106
+
107
+ MariaDB [cake]> select version();
108
+
109
+ +-----------------------+
110
+
111
+ | version() |
112
+
113
+ +-----------------------+
114
+
115
+ | 10.0.29-MariaDB-wsrep |
116
+
117
+ +-----------------------+
118
+
119
+ 1 row in set (0.00 sec)