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