Mysql の遅いクエリ操作のコード概要
以下のエディターは、Mysql遅いクエリ操作の概要を提供します。編集者はこれがとても良いものだと思ったので、皆さんの参考として今から共有します。エディターをフォローして一緒に見てみましょう
Mysqlスロークエリ解説
MySQLのスロークエリログとは、MySQLで応答時間が閾値を超えたステートメントを記録するために使用されます。 , 実行時間がlong_query_timeの値を超えたSQLはスロークエリログに記録されます。 long_query_time のデフォルト値は 10 で、これはステートメントを 10 秒以上実行することを意味します。デフォルトでは、Mysql データベース はスロー クエリ ログを開始しません。もちろん、チューニングに必要ない場合は、このパラメーターを開始することは推奨されません。ログにより多かれ少なかれ問題が発生し、パフォーマンスに一定の影響が生じます。 スロー クエリ ログは、ファイルへのログ レコードの書き込みをサポートしており、データベース テーブルへのログ レコードの書き込みもサポートしています。スロー クエリ ログは、管理者が問題を分析するのに役立ついくつかのクエリ ステートメントを記録するために使用されます。デフォルトでは、手動で起動するには、設定ファイルに一連のパラメータを追加する必要があります
Mysqlの低速クエリを有効にする理由
データベースはボトルネックが発生しやすい場所です。 Nosql がこれほど熱く議論されている今、誰もがデータベースに落ち込んでいると推測されます。 MySQL の速度に最も影響を与えるのは、非常に遅いクエリ ステートメントです。これらの遅いステートメントは、不当に記述されているか、ビッグ データの下で複数のテーブルの結合クエリである可能性があるため、これらのステートメントを見つけてその理由を分析する必要があります。最適化されました。これが、このブログ記事を投稿する理由でもあります
mysql のスロークエリメソッドを有効にする
1) 方法 1. mysql データベースターミナルにログインし、mysql> show variables like "%long%";
<SPAN style="COLOR: #ff00ff"> //查看一下默认为慢查询的时间10秒 </SPAN>
+-----------------+-----------+
| Variable_name | Value |
+-----------------+-----------+
| long_query_time | 10.000000 |
+-----------------+-----------+
1 row in set (0.00 sec)
mysql> set global long_query_time=1;
<SPAN style="COLOR: #ff00ff">//设置成1秒,加上global,下次进mysql已然生效</SPAN>
Query OK, 0 rows affected (0.00 sec)
mysql> show variables like "%slow%";
<SPAN style="COLOR: #ff00ff"> //查看一下慢查询是不是已经开启 </SPAN>
+---------------------+---------------------------------+
| Variable_name | Value |
+---------------------+---------------------------------+
| log_slow_queries | OFF |
| slow_launch_time | 2 |
| slow_query_log | OFF |
| slow_query_log_file | /usr/local/mysql/mysql-slow.log |
+---------------------+---------------------------------+
4 rows in set (0.00 sec)
mysql> set slow_query_log='ON';
<SPAN style="COLOR: #ff00ff"> //加上global,不然会报错的</SPAN>
ERROR 1229 (HY000): Variable 'slow_query_log' is a GLOBAL variable and should be set with SET GLOBAL
mysql> set global slow_query_log='ON';
<SPAN style="COLOR: #ff00ff">//这个参数设置为ON,表示启用慢查询,可以捕获执行时间超过一定数值的SQL语句。</SPAN>
Query OK, 0 rows affected (0.28 sec)
mysql> show variables like "%slow%";
<SPAN style="COLOR: #ff00ff">//查看是否已经开启 </SPAN>
+---------------------+---------------------------------+
| Variable_name | Value |
+---------------------+---------------------------------+
| log_slow_queries | ON |
| slow_launch_time | 2 |
| slow_query_log | ON |
| slow_query_log_file | /usr/local/mysql/mysql-slow.log |
+---------------------+---------------------------------+
4 rows in set (0.00 sec)
方法 2 を有効にします。 mysqlの設定ファイルmy.cnfを修正
[root@www ~]# vim /etc/mysql.cnf
......
slow_query_log = 1 //开启慢查询日志,将1改为ON也可以 long_query_time = 1 //mysql慢查询时间,指定达到多少秒才算慢查询;这里推荐设置超过1秒的执行语句就会被记录到慢查询日志中 slow_query_log_file= /var/lib/mysql/mysql-slow.log //慢查询日志路径。这里slow_query_log_file修改为log-slow-queries 也可以 //主要是上面三行内容,还可以添加下面几行细节性配置 long-queries-not-using-indexes //记录没有使用索引的查询语句 min_examined_row_limit = 1000 //记录查找了多达1000次而引起的慢查询 log-slow-admin-statements //记录ALTER TABLE等语句引发的慢查询 log-slow-slave-statements //记录从服务器产生的慢查询
解析ツール
解析ツールはmysql-slow.logに記録されたデータを実際に解析して表示します(実際には自分でシェルスクリプトを書いて必要な情報を取り出すこともできます) 。
[root@www ~]# cat mysql-slow.log to to to to の SQL のデータベースの s をまとめて ce outce outce out out out out out outmb outallowce outce outce outce outce out out out out out out off back off back ssssssss s-sg between my's between betweenww'''s の sgl の sql の sgl-slow ここでは、mysqldumpslow の使用方法についてのみ説明します。 mysql に付属する低速クエリ分析ツール。
[root@www ~]# mysqldumpslow -h
/usr/local/mysql/libexec/mysqld, Version: 5.1.26-rc-log (Source distribution). started with: Tcp port: 3306 Unix socket: /tmp/mysql.sock Time Id Command Argument # Time: 100814 13:28:30 # User@Host: root[root] @ localhost [] # Query_time: 10.096500 Lock_time: 0.045791 Rows_sent: 1 Rows_examined: 2374192 SET timestamp=1281763710; select count(distinct ad_code) as x from ad_visit_history where ad_code in (select ad_code from ad_list where media_id=15); # Time: 100814 13:37:02 # User@Host: root[root] @ localhost [] # Query_time: 10.394134 Lock_time: 0.000091 Rows_sent: 1 Rows_examined: 2374192 SET timestamp=1281764222; select count(distinct ad_code) as x from ad_visit_history where ad_code in (select ad_code from ad_list where media_id=15); # Time: 100814 13:37:16 # User@Host: root[root] @ localhost [] # Query_time: 4.608920 Lock_time: 0.000078 Rows_sent: 1 Rows_examined: 1260544 SET timestamp=1281764236; select count(*) as cou from ad_visit_history where ad_code in (select ad_code from ad_list where id=41) order by id desc;
例:
Option h requires an argument ERROR: bad option Usage: mysqldumpslow [ OPTS... ] [ LOGS... ] Parse and summarize the MySQL slow query log. Options are --verbose verbose --debug debug --help write this text to standard output -v verbose -d debug //查错 -s ORDER what to sort by (t, at, l, al, r, ar etc), 'at' is default //排序方式query次数,时间,lock的时间和返回的记录数来排序 -r reverse the sort order (largest last instead of first) //倒排序 -t NUM just show the top n queries //显示前N多个 -a don't abstract all numbers to N and strings to 'S' -n NUM abstract numbers with at least n digits within names //抽象的数字,至 少有n位内的名称 -g PATTERN grep: only consider stmts that include this string //配置模式 -h HOSTNAME hostname of db server for *-slow.log filename (can be wildcard), //mysql所以机器名或者IP default is '*', i.e. match all -i NAME name of server instance (if using mysql.server startup script) -l don't subtract lock time from total time //总时间中不减去锁定时间
以上がMysql の遅いクエリ操作のコード概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホット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)

ホットトピック









MySQLデータベースでは、ユーザーとデータベースの関係は、アクセス許可と表によって定義されます。ユーザーには、データベースにアクセスするためのユーザー名とパスワードがあります。許可は助成金コマンドを通じて付与され、テーブルはCreate Tableコマンドによって作成されます。ユーザーとデータベースの関係を確立するには、データベースを作成し、ユーザーを作成してから許可を付与する必要があります。

データ統合の簡素化:AmazonrdsmysqlとRedshiftのゼロETL統合効率的なデータ統合は、データ駆動型組織の中心にあります。従来のETL(抽出、変換、負荷)プロセスは、特にデータベース(AmazonrdsmysQlなど)をデータウェアハウス(Redshiftなど)と統合する場合、複雑で時間がかかります。ただし、AWSは、この状況を完全に変えたゼロETL統合ソリューションを提供し、RDSMYSQLからRedshiftへのデータ移行のための簡略化されたほぼリアルタイムソリューションを提供します。この記事では、RDSMysQl Zero ETLのRedshiftとの統合に飛び込み、それがどのように機能するか、それがデータエンジニアと開発者にもたらす利点を説明します。

MySQLは、インストールが簡単で、強力で管理しやすいため、初心者に適しています。 1.さまざまなオペレーティングシステムに適した、単純なインストールと構成。 2。データベースとテーブルの作成、挿入、クエリ、更新、削除などの基本操作をサポートします。 3.参加オペレーションやサブクエリなどの高度な機能を提供します。 4.インデックス、クエリの最適化、テーブルパーティション化により、パフォーマンスを改善できます。 5。データのセキュリティと一貫性を確保するために、バックアップ、リカバリ、セキュリティ対策をサポートします。

MySQLのユーザー名とパスワードを入力するには:1。ユーザー名とパスワードを決定します。 2。データベースに接続します。 3.ユーザー名とパスワードを使用して、クエリとコマンドを実行します。

1.正しいインデックスを使用して、データの量を削減してデータ検索をスピードアップしました。テーブルの列を複数回検索する場合は、その列のインデックスを作成します。あなたまたはあなたのアプリが基準に従って複数の列からのデータが必要な場合、複合インデックス2を作成します2。選択した列のみを避けます。必要な列のすべてを選択すると、より多くのサーバーメモリを使用する場合にのみサーバーが遅くなり、たとえばテーブルにはcreated_atやupdated_atやupdated_atなどの列が含まれます。

NAVICAT自体はデータベースパスワードを保存せず、暗号化されたパスワードのみを取得できます。解決策:1。パスワードマネージャーを確認します。 2。NAVICATの「パスワードを記憶する」機能を確認します。 3.データベースパスワードをリセットします。 4.データベース管理者に連絡してください。

データベース酸属性の詳細な説明酸属性は、データベーストランザクションの信頼性と一貫性を確保するための一連のルールです。データベースシステムがトランザクションを処理する方法を定義し、システムのクラッシュ、停電、または複数のユーザーの同時アクセスの場合でも、データの整合性と精度を確保します。酸属性の概要原子性:トランザクションは不可分な単位と見なされます。どの部分も失敗し、トランザクション全体がロールバックされ、データベースは変更を保持しません。たとえば、銀行の譲渡が1つのアカウントから控除されているが別のアカウントに増加しない場合、操作全体が取り消されます。 TRANSACTION; updateaccountssetbalance = balance-100wh

sqllimit句:クエリ結果の行数を制御します。 SQLの制限条項は、クエリによって返される行数を制限するために使用されます。これは、大規模なデータセット、パジネートされたディスプレイ、テストデータを処理する場合に非常に便利であり、クエリ効率を効果的に改善することができます。構文の基本的な構文:SelectColumn1、column2、... FromTable_nameLimitnumber_of_rows; number_of_rows:返された行の数を指定します。オフセットの構文:SelectColumn1、column2、... FromTable_nameLimitoffset、number_of_rows; offset:skip
