mysqlreport显示Com_中change_db占用比例高的问题的解决方法_MySQL
bitsCN.com 首先说明一点,每天的访问量并不大每天才2W的访问量,按道理说,访问量再增加一倍这样的服务器也应该足以承受。可是我们的服务器为什么总是这样频频重启呢?经过mysqlreport显示mysql运行的状态如下:
<pre class="brush:php;toolbar:false"><pre class="brush:php;toolbar:false"><pre class="brush:php;toolbar:false"><pre class="brush:php;toolbar:false"><pre class="brush:php;toolbar:false"><pre class="brush:php;toolbar:false"><pre class="brush:php;toolbar:false"><pre class="brush:php;toolbar:false"><pre class="brush:php;toolbar:false"><pre class="brush:php;toolbar:false"><pre class="brush:php;toolbar:false"><pre class="brush:php;toolbar:false"><pre class="brush:php;toolbar:false"><font color="#006bad">MySQL 5.1.28-rc-log uptime 0 0:4:48 Thu Apr 30 14:04:58 2009<br><br>__ Key _________________________________________________________________<br>Buffer used 7.74M of 384.00M %Used: 2.02<br> Current 52.89M %Usage: 13.77<br>Write hit 0.00%<br>Read hit 91.97%<br><br>__ Questions ___________________________________________________________<br>Total 14.46k 50.2/s<br> DMS 9.24k 32.1/s %Total: 63.90<br> QC Hits 3.66k 12.7/s 25.33<br> Com_ 1.04k 3.6/s 7.19<br> COM_QUIT 517 1.8/s 3.58<br> -Unknown 1 0.0/s 0.01<br>Slow 1 s 4 0.0/s 0.03 %DMS: 0.04 Log: OFF<br>DMS 9.24k 32.1/s 63.90<br> SELECT 9.21k 32.0/s 63.75 99.75<br> UPDATE 23 0.1/s 0.16 0.25<br> REPLACE 0 0/s 0.00 0.00<br> DELETE 0 0/s 0.00 0.00<br> INSERT 0 0/s 0.00 0.00<br>Com_ 1.04k 50/s 44.4<br> set_option 523 1.8/s 3.62<br> change_db 510 50/s 44.4<br> show_proces 5 0.0/s 0.03<br><br>__ SELECT and Sort _____________________________________________________<br>Scan 49 0.2/s %SELECT: 0.53<br>Range 16 0.1/s 0.17<br>Full join 2 0.0/s 0.02<br>Range check 0 0/s 0.00<br>Full rng join 0 0/s 0.00<br>Sort scan 55 0.2/s<br>Sort range 475 1.6/s<br>Sort mrg pass 0 0/s<br><br>__ Query Cache _________________________________________________________<br>Memory usage 12.02M of 150.00M %Used: 8.01<br>Block Fragmnt 0.01%<br>Hits 3.66k 12.7/s<br>Inserts 9.14k 31.8/s<br>Insrt:Prune 9.14k:1 31.8/s<br>Hit:Insert 0.40:1<br><br>__ Table Locks _________________________________________________________<br>Waited 0 0/s %Total: 0.00<br>Immediate 10.49k 36.4/s<br><br>__ Tables ______________________________________________________________<br>Open 58 of 512 %Cache: 11.33<br>Opened 64 0.2/s<br><br>__ Connections _________________________________________________________<br>Max used 4 of 2000 %Max: 0.20<br>Total 519 1.8/s<br><br>__ Created Temp ________________________________________________________<br>Disk table 1 0.0/s<br>Table 184 0.6/s Size: 256.0M<br>File 5 0.0/s<br><br>__ Threads _____________________________________________________________<br>Running 2 of 2<br>Cached 2 of 150 %Hit: 99.23<br>Created 4 0.0/s<br>Slow 0 0/s<br><br>__ Aborted _____________________________________________________________<br>Clients 0 0/s<br>Connects 0 0/s<br><br>__ Bytes _______________________________________________________________<br>Sent 20.36M 70.7k/s<br>Received 1.37M 4.7k/s<br><br>__ InnoDB Buffer Pool __________________________________________________<br>Usage 304.00k of 8.00M %Used: 3.71<br>Read hit 84.42%<br>Pages<br> Free 493 %Total: 96.29<br> Data 19 3.71 %Drty: 0.00<br> Misc 0 0.00<br> Latched 0.00<br>Reads 77 0.3/s<br> From file 12 0.0/s 15.58<br> Ahead Rnd 1 0.0/s<br> Ahead Sql 0 0/s<br>Writes 0 0/s<br>Flushes 0 0/s<br>Wait Free 0 0/s<br><br>__ InnoDB Lock _________________________________________________________<br>Waits 0 0/s<br>Current 0<br>Time acquiring<br> Total 0 ms<br> Average 0 ms<br> Max 0 ms<br><br>__ InnoDB Data, Pages, Rows ____________________________________________<br>Data<br> Reads 25 0.1/s<br> Writes 3 0.0/s<br> fsync 3 0.0/s<br> Pending<br> Reads 0<br> Writes 0<br> fsync 0<br><br>Pages<br> Created 0 0/s<br> Read 19 0.1/s<br> Written 0 0/s<br><br>Rows<br> Deleted 0 0/s<br> Inserted 0 0/s<br> Read 0 0/s<br> Updated 0 0/s<br>大家可以看到在Com_中占的比例是相当大的,而一般情况下,这个值应该是3.0%左右。如果这个值过高的话,就说明,你的mysql处理请求中<br>做了一些无谓的工作,占用了大量的系统资源。其中我们看到尤为change_db的占用率比较高。这个值高了,说明我们执行的user database;命令相当多。<br>检查程序,原来我们在执行查询语句的时候应用了mysql_query_db("database","sql");这个语句在每次执行的时候都会自动调用use database;<br>所以我们应该将mysql_db_query 更改成mysql_query();再观察mysql的运行状态,ok。一切正常了。</font>

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











ビッグ データ構造の処理スキル: チャンキング: データ セットを分割してチャンクに処理し、メモリ消費を削減します。ジェネレーター: データ セット全体をロードせずにデータ項目を 1 つずつ生成します。無制限のデータ セットに適しています。ストリーミング: ファイルやクエリ結果を 1 行ずつ読み取ります。大きなファイルやリモート データに適しています。外部ストレージ: 非常に大規模なデータ セットの場合は、データをデータベースまたは NoSQL に保存します。

PHP で MySQL データベースをバックアップおよび復元するには、次の手順を実行します。 データベースをバックアップします。 mysqldump コマンドを使用して、データベースを SQL ファイルにダンプします。データベースの復元: mysql コマンドを使用して、SQL ファイルからデータベースを復元します。

MySQL クエリのパフォーマンスは、検索時間を線形の複雑さから対数の複雑さまで短縮するインデックスを構築することで最適化できます。 PreparedStatement を使用して SQL インジェクションを防止し、クエリのパフォーマンスを向上させます。クエリ結果を制限し、サーバーによって処理されるデータ量を削減します。適切な結合タイプの使用、インデックスの作成、サブクエリの使用の検討など、結合クエリを最適化します。クエリを分析してボトルネックを特定し、キャッシュを使用してデータベースの負荷を軽減し、オーバーヘッドを最小限に抑えます。

MySQLテーブルにデータを挿入するにはどうすればよいですか?データベースに接続する: mysqli を使用してデータベースへの接続を確立します。 SQL クエリを準備します。挿入する列と値を指定する INSERT ステートメントを作成します。クエリの実行: query() メソッドを使用して挿入クエリを実行します。成功すると、確認メッセージが出力されます。

PHP を使用して MySQL テーブルを作成するには、次の手順が必要です。 データベースに接続します。データベースが存在しない場合は作成します。データベースを選択します。テーブルを作成します。クエリを実行します。接続を閉じます。

PHP で MySQL ストアド プロシージャを使用するには: PDO または MySQLi 拡張機能を使用して、MySQL データベースに接続します。ストアド プロシージャを呼び出すステートメントを準備します。ストアド プロシージャを実行します。結果セットを処理します (ストアド プロシージャが結果を返す場合)。データベース接続を閉じます。

MySQL 8.4 (2024 年時点の最新の LTS リリース) で導入された主な変更の 1 つは、「MySQL Native Password」プラグインがデフォルトで有効ではなくなったことです。さらに、MySQL 9.0 ではこのプラグインが完全に削除されています。 この変更は PHP および他のアプリに影響します

Oracle データベースと MySQL はどちらもリレーショナル モデルに基づいたデータベースですが、Oracle は互換性、スケーラビリティ、データ型、セキュリティの点で優れており、MySQL は速度と柔軟性に重点を置いており、小規模から中規模のデータ セットに適しています。 ① Oracle は幅広いデータ型を提供し、② 高度なセキュリティ機能を提供し、③ エンタープライズレベルのアプリケーションに適しています。① MySQL は NoSQL データ型をサポートし、② セキュリティ対策が少なく、③ 小規模から中規模のアプリケーションに適しています。
