MySQLにおけるクエリ実行時間について調べてみた
まとめ MySQLの実行時間(performance_schema.events_statements_xxxのTIMER_WAIT)は、「クエリを実行開始してから、クライアントにデータ送信完了...
95 search resultsShowing 1~20 results
You need to log-in
まとめ MySQLの実行時間(performance_schema.events_statements_xxxのTIMER_WAIT)は、「クエリを実行開始してから、クライアントにデータ送信完了...
背景 MySQL の sys.innodb_lock_waits は、ロック待機の情報を取得するためのビューですが、ロック競合が多発している状況で SELECT * FROM sys.innod...
背景 年々進化しているSQL Server/SSMSですが、使っている中で「こんな機能があったらいいな」と思うところがあったので、まとめてみました。 ※実装の困難さはいったん棚に上げておきます。...
SQL Serverのロックについて出来る限り分かりやすく解説という記事を書いた後に、追加で説明しておきたい事項をこちらにまとめていきます。 ロックまわりで知りたいことや疑問があればコメントで教...
公式ドキュメントだと文字だけの情報なので、図解することで分かりやすく理解してもらえるように説明してみました。 わかり辛かったらすみません! SQL Serverのロックとは DB上でデータを操作...
背景 DBのスキーマを変更する際や、データを大量に更新する際はブロッキングによるタイムアウトエラー多発などの障害が発生しやすいです。 組織によっては専門のチームがスキーマの変更をすべて請け負う体...
背景 DBのスキーマを変更する際や、データを大量に更新する際はブロッキングによるタイムアウトエラー多発などの障害が発生しやすいです。 組織によっては専門のチームがスキーマの変更をすべて請け負う体...
背景 DBのスキーマを変更する際や、データを大量に更新する際はブロッキングによるタイムアウトエラー多発などの障害が発生しやすいです。 組織によっては専門のチームがスキーマの変更をすべて請け負う体...
背景 DBのスキーマを変更する際や、データを大量に更新する際はブロッキングによるタイムアウトエラー多発などの障害が発生しやすいです。 組織によっては専門のチームがスキーマの変更をすべて請け負う体...
SQL Server 2017 および SQL Databaseでは自動チューニングという機能が提供されています。 この中に、「自動プラン選択修正」という機能があります。 こちらは、実行プラン変...
背景 変更の追跡を本番環境で運用して1年以上たったので、導入から運用までで遭遇したトラブルと、どのように解決してきたかについてまとめます。 変更の追跡とは テーブル単位で設定する。 設定すると、...
背景 テーブルに対して大量のデータ更新を実施する際、長時間ロックを獲得することになり、その間は他の更新系クエリをブロックしてしまうことになります。 例えば、以下のクエリなどです。 UPDATE ...
背景 SQL Serverにおけるクエリパフォーマンス関連のメトリックには「SQLServer:Batch Resp Statistics」があります。 これは、クエリベースでは以下のようなクエ...
背景 変更の追跡では、2種類のシステムテーブルにデータが溜まっていきます。 sys.syscommittab sys.change_tracking_<object_id> (例:sys.cha...
背景 クエリチューニングのためにインデックスを新規作成することは定期的にあるかと思いますが、スペックおよびデータ量が同等のdev/stg環境が無い限り、ある程度は「リリースしてみないと効果が分か...
背景 とあるテーブルへのクエリタイムアウトが突然多発したので調査したところ、変更の追跡を設定したことが関係していました。 どのような原因でタイムアウト多発に至ったのか、再発防止策としてどういった...
背景 長年プロダクション環境で稼働しているシステムでは、現在では(機能廃止等に伴い)使われなくなったテーブルが存在することがよくあると思います。 アプリ観点でアクセスログ等から調査する方法もある...
背景 以前こちらの記事で、sys.dm_exec_query_statsを使用して、サーバー全体の中でCPUボトルネックになっているクエリを抽出する方法を紹介しました。 昨今のSQL Serve...
背景 DMV(動的管理ビュー)はDBの各種調査で重宝します。 例えば、以下のクエリを実行することで「現在1秒以上実行中のクエリ」を取得することができます。 select top 100 getd...
背景 SQL Serverでは、特定のレコード「A」にUPDATEが集中するなどしてブロッキングが多発すると、最終的にはワーカースレッドの枯渇にいたります。 ワーカースレッドが枯渇すると、レコー...
95 search resultsShowing 1~20 results
Qiita is a knowledge sharing service for engineers.