問題タブ [mysql-slow-query-log]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spring-boot - Spring ブート時に envers を使用するための遅いリクエストを回避する方法
私はSpringブートプロジェクトでenversを使用しています。
テーブルに多数のデータがある場合data_aud
(データ番号: 3500)、のリクエストfindRevisions(key, pageable)
は非常に遅くなります。
確かに、データが多くない場合は、リクエストは有効です。
Spring がこの関数を呼び出すと、いくつかの休止状態の SQL が発生します。
おそらくselect max
、シーケンスがリクエストが遅い理由だと思います。
この遅い状態を回避するにはどうすればよいですか?
+)
data_aud テーブルの主キーは (data_id, varchar(32), rev, int(11)) です。
データ テーブルの PK は data_id です。
mysql - MySQL で実行時間の長いプロセスを強制終了する
シナリオ- スレーブ マシンで何百ものレポートを実行しています。これらのレポートは、MySQL のイベント スケジューラによってスケジュールされるか、Python/R またはシェル スクリプトを介して呼び出されます。それとは別に、ランダム クエリを実行している MySQL スレーブに接続している 50 人ほどのユーザーがいます。これらの人々は、良いクエリの書き方を本当に知りません。それは当然のことです。彼らはすべきではありません。そのため、ときどき (毎日読み取り)、読み取り/書き込みロックのためにスタックしているクエリがいくつか表示されます。どうやってそれを修正しますか。
あなたがすることは、書かれているものは何でも殺さないということです。代わりに、すべての読み取りクエリを強制終了します。ここで、すべての読み取りクエリを強制終了すると、OUTFILE
実際には書き込みクエリであるクエリも解放されるため、これも注意が必要です (これらは MySQL に書き込むのではなく、ディスクに書き込みます)。
強制終了が必要な理由(私は MySQL について話しているだけです。これを文脈から外さないでください)
私はあなたに2つの言葉を持っています - Slave lag
。もしそうなってしまうと、すべてのユーザー、レポート、消費者が苦しむことになるからです。
3 つの質問に基づいて、MySQL でプロセスを強制終了するために次のように記述しました。
- クエリはどのくらい実行されていますか?
- 誰がクエリを実行していますか?
write/modify
クエリも強制終了しますか?
意図的にまだ行っていないことは、強制終了されたプロセスの履歴を維持していないことです。誰がすべての悪いクエリを実行しているかを分析して見つけるために、これを行う必要があります。しかし、それを見つける他の方法があります。
このための手順を作成しました。これには多くの時間を費やしていません。したがって、これが良い方法であるかどうかを提案してください。
php - PHP プロファイラを使用して Mysql スロークエリ ログ ファイル エントリをトレースする方法
PHP プロファイラーを使用して、php スクリプト内のファイルを検索し始めたところ、mysql クエリが遅くなりました。同じタイムスタンプで実行されたphpプロファイラーのファイルと比較して、 xdebugを使用してスローログファイルエントリのタイムスタンプで追跡することを提案する人もいました。
xdebug のドキュメントを読みましたが、この問題の説明が見つかりません。
誰かが私に悟りを与えることができますか?
私はphp 7.0、Debian 9を使用しています。
私のスロークエリログファイルのエントリ:
編集:
これは SELECT ステートメントで行をカウントすることではなく、遅い要求が発生する原因となっているアプリケーション ファイルを追跡する方法に関するものです。
mysql - MySQL スロー クエリ ログの空のコミット
mysql データベースで AWS RDS スロー ログ クエリを使用しています。ログにはこれがたくさんあります:
このようないくつか:
これはどういう意味ですか?トランザクションは開いていましたが、DML 操作はありませんでしたか?
mysql - 大規模データベースの MySQL クエリ パフォーマンスの向上
2 つのテーブルを結合する単純なクエリがあります。メイン テーブルには、クエリが日付の範囲でフィルター処理する日付フィールドがあります。しかし、1か月間、メインテーブルには37412個のデータがあり、この値には子テーブルに914 794個のアイテムがあります。ちょうど 1 か月間、子テーブルには常に 35,975,568 を超えるアイテムがあります。
そのような単純な結合では、範囲の日付によるフィルタリングは非常に遅いです:
それはテーブルの構造です:
どうすればそれを改善できますか?パフォーマンスが悪い理由の 1 つは、「projectitem」テーブルのキーの長さが原因だと思います。
そのデータを別のデータベースから移行しました。最初にキーなしですべてのテーブルを作成し、移行後にそのコマンドを使用してキーとインデックスを作成しました。
問題になる可能性はありますか?
mysql - インデックスを使用していないことを mysql-slow.log が通知しないようにするにはどうすればよいですか?
markets
そのような列を持つという名前id
のテーブル:visible
position
そしてスローログは常に
そして説明:
不思議なんだけど:
インデックスを作成しました
index_markets_on_visible
:この問題を解決するには?「order by」列にインデックスを追加する必要がありますか?
ありがとう。
mysql - Mysql スロー クエリ ログ エラーコード: 13 - 権限が拒否されました
スロー クエリ ログを有効にしたい。次のクエリを実行すると
set global slow_query_log = 'ON';
私は得る:
ここで解決策を試しました: https://bugs.mysql.com/bug.php?id=98340しかし、最後のコマンドに問題があります:
mysql - 注文クエリとの低速結合
クエリの速度に問題があります。質問はこれに似ていますが、解決策が見つかりません。Explain によると、MySQL は次のように使用しています。インデックスの使用; 一時的な使用; filesort スロー クエリの使用:
しかし、クエリから order ステートメントを削除すると、非常に高速になります。
説明:
私のテーブル: