質問編集履歴

5

間違いの訂正

2016/04/14 07:36

投稿

sanset
sanset

スコア186

test CHANGED
File without changes
test CHANGED
@@ -90,7 +90,7 @@
90
90
 
91
91
  ```SQL
92
92
 
93
- SELECT syumi_id,syumi_name,COUNT(DISTINCT(pet_id)) AS cnt
93
+ SELECT syumi_id,syumi_name,COUNT(DISTINCT(pet_name)) AS cnt
94
94
 
95
95
  FROM t_petlist
96
96
 

4

誤字

2016/04/14 07:36

投稿

sanset
sanset

スコア186

test CHANGED
File without changes
test CHANGED
@@ -134,7 +134,7 @@
134
134
 
135
135
  重くしている部分は、COUNT(DISTINCT(pet_id))で、DISTINCTを外すと0.5秒もかからないほど早くなります。
136
136
 
137
- ただ、今回カウントしたいのは、「その趣味の人が飼っているペット名付けた名前の種類数」なので、
137
+ ただ、今回カウントしたいのは、「その趣味の人が飼っているペット名付けた名前の種類数」なので、
138
138
 
139
139
  スポーツが趣味の人で、その中の5人がペットに「ポチ」と名付けた場合は、その重複は除かなくてはいけません。
140
140
 

3

誤字の修正

2016/04/14 06:58

投稿

sanset
sanset

スコア186

test CHANGED
File without changes
test CHANGED
@@ -120,6 +120,8 @@
120
120
 
121
121
  このクエリが約3秒ほどかかってしまいます。
122
122
 
123
+ 目標は1秒を切りたいと考えています。
124
+
123
125
 
124
126
 
125
127
  **EXPLAIN実行結果**

2

EXPLAIN結果追加、インデックスすべて表示

2016/04/14 05:58

投稿

sanset
sanset

スコア186

test CHANGED
File without changes
test CHANGED
@@ -16,7 +16,7 @@
16
16
 
17
17
  **t_syumi[InnoDB] 趣味テーブル**
18
18
 
19
- syumi_id(autoincrement),syumi_name データ数約2000件
19
+ syumi_id(autoincrement),syumi_name データ数約2000件 ※syumi_idがプライマリキー
20
20
 
21
21
  1,スポーツ
22
22
 
@@ -32,7 +32,7 @@
32
32
 
33
33
  **t_user[InnoDB] ユーザーテーブル** データ数約6000件
34
34
 
35
- user_id(autoincrement),user_name
35
+ user_id(autoincrement),user_name ※user_idがプライマリキー
36
36
 
37
37
  1,田中一郎
38
38
 
@@ -50,7 +50,7 @@
50
50
 
51
51
  ※一人で複数の趣味を持っている場合もあります
52
52
 
53
- set_id(autoincrement),user_id,syumi_id **※user_id,syumi_idに複合ユニークキー制約があります**
53
+ set_id(autoincrement),user_id,syumi_id **※set_idがプライマリキー,user_id,syumi_idに複合ユニークキー制約があります**
54
54
 
55
55
  1,1,4
56
56
 
@@ -68,7 +68,7 @@
68
68
 
69
69
  ※一人で複数のペットを飼っている場合もあるため、一人で複数登録されている場合もあります
70
70
 
71
- pet_id(autoincrement),user_id,pet_name **※user_id,pet_nameに複合ユニークキー制約があります**
71
+ pet_id(autoincrement),user_id,pet_name **※pet_idがプライマリキー,user_id,pet_nameに複合ユニークキー制約があります**
72
72
 
73
73
  1,1,ポチ
74
74
 
@@ -122,6 +122,14 @@
122
122
 
123
123
 
124
124
 
125
+ **EXPLAIN実行結果**
126
+
127
+ ![イメージ説明](276c873480929a313895f7654fec115b.jpeg)
128
+
129
+
130
+
131
+
132
+
125
133
  重くしている部分は、COUNT(DISTINCT(pet_id))で、DISTINCTを外すと0.5秒もかからないほど早くなります。
126
134
 
127
135
  ただ、今回カウントしたいのは、「その趣味の人が飼っているペット名付けた名前の種類数」なので、

1

タイトルの変更

2016/04/14 03:59

投稿

sanset
sanset

スコア186

test CHANGED
@@ -1 +1 @@
1
- 【MySQL】約15万件のテーブルになってからクエリが遅くなりました。アドバイスお願いしたいです。
1
+ 【MySQL】約15万件のテーブルになってからクエリが遅くなりました。テーブル設計とクエリを公開しますのでアドバイスお願いしたいです。
test CHANGED
File without changes