IT/技術ネタ備忘録

情報処理技術者試/書籍/Microsoft関連情報他、技術系全般の備忘録。

第14回 SQL Server 2019勉強会-参加メモ

第14回 SQL Server 2019勉強会 20190126

https://sqlserver.connpass.com/event/113907/

 

 

SQL Serverのクエリ実行プランとパフォーマンス –クエリインディクスチューニング

・CIDX

 データ行を含む

 A-Z順

→CIDXを持っていないとレコード順に追加、断片化が拡大

・非CIDX

 行識別子を含む(データは持たない

 

・プランの読み方

 scan→全行、順に確認

 seek→対象行のみ、そのままデータを取り出す

デモ

 実行プランでプランを読む。

 

●初級~中級のSQL再入門

SQLは実行前にパースなどいろいろ処理をしている

 →オーバヘッドをなくすため1回で発行したほうが良い(ことが多い

SQL手続き型言語に比べて詳細設計に近い

 →パラメータによるロジック判定はDBエンジン側がやっている(内部的に

・Where句で指定・サブクエリで除外・結合条件で指定、等の使い分けを意識する

・LEFT JOINののWHERE指定。

 →バグかINNNER JOINの見分けがつかのなくなるような書き方に注意

・WHEREのAND/ORの書き方。式の考えは因数分解、数式と同じ。(加+OR/剰×AND)

SQLの動的生成を避ける

 →条件1 OR @para IS NULL

 

RDBのテーブルとインデックス設計

・万能テーブルはやめて機能ごとに

・最終更新情報(日時、人)は全テーブルの必要か

 →削除されたらわからない、削除フラグをたくさんもたせるのも。。。

 →直近しかわからない、2回前に更新した人は追えない

別の履歴管理テーブルとかにもたせるほうが良い

 

 

●Configure SQL Server 2019 PolyBase scale-out groups

・外部データ ソースからデータを読み取る Transact-SQL クエリを SQL Server インスタンスで処理

・2019からSQLServer、オラクル、MySQL等のリソースにアクセス可能になる

 

●LT-前回ハッカソンの解答等

MCP試験対策シリーズ、Exam 70-765 Provisioning SQL Databases

・試験概要と問題解説

 パワーシェルのコマンドレットなども出る。資格とは別にパワーシェルは今後必要。

 ラッチ

  ページラッチ SQLServerストレージエンジンとページバッファ間

  ページIOラッチ :ページバッファとデータベース物理ファイル間

 ページラッチに必要なデータはあることが望ましい。メモリ上のデータなので再起動では消える

 システムビューも各種出る。

tmpdbはコア数単位でデータファイルが分割されるようになってる、ので初期値設定に注意