質問するログイン新規登録

回答編集履歴

5

冗長な部分を修正

2018/06/11 06:25

投稿

sazi
sazi

スコア25437

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 limits from limits)
20
+ where seq <= (select trunc(count(*)*0.1) from master)
22
21
  ```
23
22
  実行計画にあまり変わりは無いと思われるが、インラインビュー内のサブクエリーでは無いパターン

4

推敲

2018/06/11 06:25

投稿

sazi
sazi

スコア25437

answer CHANGED
@@ -20,4 +20,4 @@
20
20
  ) master
21
21
  where seq <= (select limits from limits)
22
22
  ```
23
- 実行計画にあまり変わりは無いと思われるが、インライン内のサブクエリーでは無いパターン
23
+ 実行計画にあまり変わりは無いと思われるが、インラインビュー内のサブクエリーでは無いパターン

3

推敲

2018/06/11 06:23

投稿

sazi
sazi

スコア25437

answer CHANGED
@@ -20,4 +20,4 @@
20
20
  ) master
21
21
  where seq <= (select limits from limits)
22
22
  ```
23
- 実行計画にあまり変わりは無いと思われるが、サブクエリーでは無いパターン
23
+ 実行計画にあまり変わりは無いと思われるが、インライン内のサブクエリーでは無いパターン

2

パターン追加

2018/06/11 06:22

投稿

sazi
sazi

スコア25437

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

エイリアスの修正

2018/06/11 06:19

投稿

sazi
sazi

スコア25437

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) pages
7
+ ,(select trunc(count(*)*0.1) from master) limits
8
8
  from master
9
9
  ) master
10
- where seq <= pages
10
+ where seq <= limits
11
-
12
11
  ```