th4nk_y0u_y0sh1
@th4nk_y0u_y0sh1

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

SQLCMDの実装の仕方

前提

まず、SQLの処理を大きくRead,Writeと2つに分類する。Readは、SELECTを使う。Writeは、INSERTUPDATEDELETEALTERである。テーブル自体のスキーマを変更するALTERをWriteに含めるなら、WITHという一時的にメモリするキーワードも加えた方が良かったかもしれない。とにかく、データベースのクエリエンジン側に命令文を渡して処理してもらうという構図では、Readの方が早く、Writeには時間がかかる。

SQLの結果は、データベースサーバー(クエリエンジンが載っているとこ)からクライアント(ウィンドウに書く側)に転送されると思っている。この際にデータサイズが大きすたら時間がかかると思っている。ユーザーがデータベースサーバーから結果を取得するというオペレーション自体を自動化したいということで、ざっくり「SQL自動化」というマイクロサービスの要件をまとめてみる。

背景

さて、SQLをマニュアルで取得するオペレーションを実世界で経験した人ならオペレーションの全容が想像できると思う。データを理解するためにSELECTで試行錯誤する。それからSQLを論理立てる、そしてウィンドウにSQLを貼り付けて結果の取得まで待つ・・・まだ、待ってる・・・10分経った、まだかな・・・

と言ったように、データセットのサイズや煩雑なSQLになってしまう場合、10分、40分、下手したら4時間かかってしまうことがある。

そこで、SQL自動化について考えてみよう。どうしたら良かったんだろうね?

実はもう答えは出ているけど、あえて質問にしました。

0

Your answer might help someone💌