File tree Expand file tree Collapse file tree 1 file changed +5
-5
lines changed Expand file tree Collapse file tree 1 file changed +5
-5
lines changed Original file line number Diff line number Diff line change @@ -40,7 +40,7 @@ Run query ボタンを押してクエリを実行するとクエリ結果が表
40
40
これは、Web UI はクエリを ExecuteStreamingSQL API を使って実行するが、結果の行が多い場合はクエリの実行が分割されるため、結果を最後まで取得しない Web UI では実行統計が取得できなくなってしまうためである。
41
41
大量の結果が得られるクエリの実行統計を取得する場合は後述する spanner-cli などを使用する。
42
42
43
- ### spanner-cli
43
+ ## spanner-cli
44
44
45
45
### 実行計画の取得方法
46
46
@@ -101,14 +101,14 @@ optimizer: 2
101
101
102
102
上記の例のように大量の結果を得るようなクエリであっても最後まで結果を読み捨てることで実行統計を取得し表示する。
103
103
104
- ### 実行計画の生データと spannerplanviz
104
+ ## 実行計画の生データと spannerplanviz
105
105
106
106
実行計画および実行統計に含まれる全ての情報を得るには、 API 呼び出し時に得られる [ ResultSetStats] ( https://cloud.google.com/spanner/docs/reference/rest/v1/ResultSetStats?hl=en ) を取得する必要がある。
107
107
API を直接呼ぶことや、 クライアントライブラリを使うなどの方法があるが、 ` gcloud spanner databases execute-sql ` に ` --query-mode ` を指定することで GCP 公式のツールを使って生の実行計画を取得することができる。
108
108
109
109
なお、デフォルトの出力は人間にもプログラムにも扱いづらいので必要に応じて ` --format=json ` か ` --format=yaml ` を指定すると良い。
110
110
111
- #### 実行統計の取得方法
111
+ ### 実行統計の取得方法
112
112
113
113
` --query-mode=PLAN ` を渡すと、クエリを実行せずに実行計画を [ ResultSet] ( https://cloud.google.com/spanner/docs/reference/rest/v1/ResultSet?hl=en ) 形式で取得できる。
114
114
@@ -122,7 +122,7 @@ $ gcloud spanner databases execute-sql --project=${PROJECT_ID} --instance=${INST
122
122
$ gcloud spanner databases execute-sql --project=${PROJECT_ID} --instance=${INSTANCE_ID} ${DATABASE_ID} --query-mode=PLAN --format=yaml --sql "$(cat query.sql)" > plan.yaml
123
123
```
124
124
125
- #### 実行統計の取得方法
125
+ ### 実行統計の取得方法
126
126
127
127
` --query-mode=PROFILE ` を渡すと、実行計画と実行統計を含んだクエリの実行結果を [ ResultSet] ( https://cloud.google.com/spanner/docs/reference/rest/v1/ResultSet?hl=en ) 形式で取得できる。
128
128
@@ -136,7 +136,7 @@ $ gcloud spanner databases execute-sql --project=${PROJECT_ID} --instance=${INST
136
136
$ gcloud spanner databases execute-sql --project=${PROJECT_ID} --instance=${INSTANCE_ID} ${DATABASE_ID} --query-mode=PROFILE --format=json --sql "$(cat query.sql)" | jq 'del(.rows)' > profile_reducted.json
137
137
```
138
138
139
- #### 生データの扱い方
139
+ ### 生データの扱い方
140
140
141
141
保存した生データは別途プログラムで解析、可視化などに利用できる。
142
142
OSS としては SVG として可視化する [ apstndb/spannerplanviz] ( https://github.com/apstndb/spannerplanviz ) がある。
You can’t perform that action at this time.
0 commit comments