回答編集履歴
5
冗長な部分を修正
answer
CHANGED
|
@@ -11,13 +11,12 @@
|
|
|
11
11
|
```
|
|
12
12
|
#別パターン
|
|
13
13
|
```SQL
|
|
14
|
-
with limits as(select trunc(count(*)*0.5) as limits from master)
|
|
15
14
|
select *
|
|
16
15
|
from (
|
|
17
16
|
select *
|
|
18
17
|
, row_number() over(order by random()) seq
|
|
19
18
|
from master
|
|
20
19
|
) master
|
|
21
|
-
where seq <= (select
|
|
20
|
+
where seq <= (select trunc(count(*)*0.1) from master)
|
|
22
21
|
```
|
|
23
22
|
実行計画にあまり変わりは無いと思われるが、インラインビュー内のサブクエリーでは無いパターン
|
4
推敲
answer
CHANGED
|
@@ -20,4 +20,4 @@
|
|
|
20
20
|
) master
|
|
21
21
|
where seq <= (select limits from limits)
|
|
22
22
|
```
|
|
23
|
-
実行計画にあまり変わりは無いと思われるが、インライン内のサブクエリーでは無いパターン
|
|
23
|
+
実行計画にあまり変わりは無いと思われるが、インラインビュー内のサブクエリーでは無いパターン
|
3
推敲
answer
CHANGED
|
@@ -20,4 +20,4 @@
|
|
|
20
20
|
) master
|
|
21
21
|
where seq <= (select limits from limits)
|
|
22
22
|
```
|
|
23
|
-
実行計画にあまり変わりは無いと思われるが、サブクエリーでは無いパターン
|
|
23
|
+
実行計画にあまり変わりは無いと思われるが、インライン内のサブクエリーでは無いパターン
|
2
パターン追加
answer
CHANGED
|
@@ -8,4 +8,16 @@
|
|
|
8
8
|
from master
|
|
9
9
|
) master
|
|
10
10
|
where seq <= limits
|
|
11
|
-
```
|
|
11
|
+
```
|
|
12
|
+
#別パターン
|
|
13
|
+
```SQL
|
|
14
|
+
with limits as(select trunc(count(*)*0.5) as limits from master)
|
|
15
|
+
select *
|
|
16
|
+
from (
|
|
17
|
+
select *
|
|
18
|
+
, row_number() over(order by random()) seq
|
|
19
|
+
from master
|
|
20
|
+
) master
|
|
21
|
+
where seq <= (select limits from limits)
|
|
22
|
+
```
|
|
23
|
+
実行計画にあまり変わりは無いと思われるが、サブクエリーでは無いパターン
|
1
エイリアスの修正
answer
CHANGED
|
@@ -4,9 +4,8 @@
|
|
|
4
4
|
from (
|
|
5
5
|
select *
|
|
6
6
|
, row_number() over(order by random()) seq
|
|
7
|
-
,(select trunc(count(*)*0.1) from master)
|
|
7
|
+
,(select trunc(count(*)*0.1) from master) limits
|
|
8
8
|
from master
|
|
9
9
|
) master
|
|
10
|
-
where seq <=
|
|
10
|
+
where seq <= limits
|
|
11
|
-
|
|
12
11
|
```
|