質問編集履歴
3
select文の例を追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -34,11 +34,21 @@
|
|
34
34
|
|
35
35
|
|
36
36
|
|
37
|
-
テーブルの使い方としては、COUNTRY列やCOMPANY列を利用して、例えばU.S.のPRODUCTの値を集めてくるだとか、GoogleのPRODUCTの値を集めてくるといったような具合です。一番重要なのはPRODUCTであって、COUNTRYやCOMPANYはそれらをグループ分けするために利用します。
|
37
|
+
テーブルの使い方としては、COUNTRY列やCOMPANY列を利用して、例えばU.S.のPRODUCTの値を集めてくるだとか、GoogleのPRODUCTの値を集めてくるといったような具合です。一番重要なのはPRODUCTであって、COUNTRYやCOMPANYはそれらをグループ分けするために利用します。具体的には、
|
38
|
+
|
39
|
+
```
|
40
|
+
|
41
|
+
select PRODUCT where COUNTRY = 'JP';
|
42
|
+
|
43
|
+
select PRODUCT where COUNTRY = 'U.S.' AND COMPANY = 'Google';
|
44
|
+
|
45
|
+
```
|
46
|
+
|
47
|
+
のようなクエリで検索をかけます。
|
38
48
|
|
39
49
|
|
40
50
|
|
41
|
-
こ
|
51
|
+
これを高速化したいと思った場合、どのようにインデックスをつけるのが最も効果的なのでしょうか?
|
42
52
|
|
43
53
|
また、下のようにCOUNTRY列とCOMPANY列を統合した場合、なにかが変わるでしょうか?
|
44
54
|
|
2
文章が下手アンド言葉足らず
test
CHANGED
File without changes
|
test
CHANGED
@@ -6,56 +6,64 @@
|
|
6
6
|
|
7
7
|
いま、下のようなテーブルがあったとします(id列は省略)。
|
8
8
|
|
9
|
+
IDは (ID integer primary key, ...) で指定しています。
|
10
|
+
|
9
|
-
| COUNTRY | COMPANY |
|
11
|
+
| COUNTRY | COMPANY |PRODUCT
|
10
12
|
|
11
13
|
|:-------:|:------:|:-:|
|
12
14
|
|
13
|
-
U.S. |Google|
|
15
|
+
U.S. |Google|Chrome
|
14
16
|
|
15
|
-
U.S.
|
17
|
+
U.S.|Google|Gmail
|
16
18
|
|
17
|
-
U.S. |
|
19
|
+
U.S. |Google|Android
|
18
20
|
|
19
|
-
|
21
|
+
U.S. |Microsoft|Windows
|
20
22
|
|
21
|
-
|
23
|
+
U.S. |Microsoft|Adobe
|
22
24
|
|
23
|
-
U.S. |
|
25
|
+
U.S. |Apple|iPhone
|
24
26
|
|
25
|
-
U.S. |
|
27
|
+
U.S. |Apple|iPad
|
26
28
|
|
27
|
-
JP |
|
29
|
+
JP |Sony|walkman
|
28
30
|
|
29
|
-
JP |Sony|
|
31
|
+
JP |Sony|xperia
|
30
32
|
|
31
|
-
JP |
|
33
|
+
JP |panasonic|Let's Note
|
32
34
|
|
33
35
|
|
34
36
|
|
35
|
-
|
37
|
+
テーブルの使い方としては、COUNTRY列やCOMPANY列を利用して、例えばU.S.のPRODUCTの値を集めてくるだとか、GoogleのPRODUCTの値を集めてくるといったような具合です。一番重要なのはPRODUCTであって、COUNTRYやCOMPANYはそれらをグループ分けするために利用します。
|
36
38
|
|
37
|
-
また、下のようにCOUNTRY列とCOMPANY列を統合してインデックスをつけるのとでは違いがあるでしょうか?
|
38
39
|
|
40
|
+
|
41
|
+
この場合、どのようにインデックスをつけるのが最も効果的なのでしょうか?
|
42
|
+
|
43
|
+
また、下のようにCOUNTRY列とCOMPANY列を統合した場合、なにかが変わるでしょうか?
|
44
|
+
|
45
|
+
|
46
|
+
|
39
|
-
|COUNTORY_AND_COMPANY|
|
47
|
+
|COUNTORY_AND_COMPANY|PRODUCT
|
40
48
|
|
41
49
|
|:-------:|:------:|
|
42
50
|
|
43
|
-
U.S.#Google|
|
51
|
+
U.S.#Google|Chrome
|
44
52
|
|
45
|
-
U.S.#
|
53
|
+
U.S.#Google|Gmail
|
46
54
|
|
47
|
-
U.S.#
|
55
|
+
U.S.#Google|Android
|
48
56
|
|
49
|
-
|
57
|
+
U.S.#Microsoft|Windows
|
50
58
|
|
51
|
-
|
59
|
+
U.S.#Microsoft|Adobe
|
52
60
|
|
53
|
-
U.S.#
|
61
|
+
U.S.#Apple|iPhone
|
54
62
|
|
55
|
-
U.S.#
|
63
|
+
U.S.#Apple|iPad
|
56
64
|
|
57
|
-
JP#
|
65
|
+
JP#Sony|walkman
|
58
66
|
|
59
|
-
JP#Sony|
|
67
|
+
JP#Sony|xperia
|
60
68
|
|
61
|
-
JP#
|
69
|
+
JP#panasonic|Let's Note
|
1
文章がいまいちだったので、修正しました
test
CHANGED
File without changes
|
test
CHANGED
@@ -4,32 +4,58 @@
|
|
4
4
|
|
5
5
|
|
6
6
|
|
7
|
-
いま、
|
7
|
+
いま、下のようなテーブルがあったとします(id列は省略)。
|
8
8
|
|
9
|
-
| COUNTRY | COMPANY |
|
9
|
+
| COUNTRY | COMPANY |LIKED
|
10
10
|
|
11
11
|
|:-------:|:------:|:-:|
|
12
12
|
|
13
|
-
U.S. |Google|
|
13
|
+
U.S. |Google|1
|
14
14
|
|
15
|
-
U.S. |Yahoo|
|
15
|
+
U.S. |Yahoo|1
|
16
16
|
|
17
|
-
U.S. |Microsoft|
|
17
|
+
U.S. |Microsoft|1
|
18
18
|
|
19
|
-
JP |Toyota|
|
19
|
+
JP |Toyota|0
|
20
20
|
|
21
|
-
JP |Honda|
|
21
|
+
JP |Honda|0
|
22
22
|
|
23
|
-
U.S. |Ford|
|
23
|
+
U.S. |Ford|0
|
24
24
|
|
25
|
-
U.S. |GM|
|
25
|
+
U.S. |GM|1
|
26
26
|
|
27
|
-
JP |Matsushita|
|
27
|
+
JP |Matsushita|1
|
28
28
|
|
29
|
-
JP |Sony|
|
29
|
+
JP |Sony|1
|
30
30
|
|
31
|
-
JP |Sharp|
|
31
|
+
JP |Sharp|0
|
32
32
|
|
33
33
|
|
34
34
|
|
35
35
|
この場合、どの列にインデックスをつけるのが最も効果的なのでしょうか?
|
36
|
+
|
37
|
+
また、下のようにCOUNTRY列とCOMPANY列を統合してインデックスをつけるのとでは違いがあるでしょうか?
|
38
|
+
|
39
|
+
|COUNTORY_AND_COMPANY|LIKED
|
40
|
+
|
41
|
+
|:-------:|:------:|
|
42
|
+
|
43
|
+
U.S.#Google|1
|
44
|
+
|
45
|
+
U.S.#Yahoo|1
|
46
|
+
|
47
|
+
U.S.#Microsoft|1
|
48
|
+
|
49
|
+
JP#Toyota|0
|
50
|
+
|
51
|
+
JP#Honda|0
|
52
|
+
|
53
|
+
U.S.#Ford|0
|
54
|
+
|
55
|
+
U.S.#GM|1
|
56
|
+
|
57
|
+
JP#Matsushita|1
|
58
|
+
|
59
|
+
JP#Sony|1
|
60
|
+
|
61
|
+
JP#Sharp|0
|