MySQL5.6如何优化慢查询的SQL语句--慢日志介绍_MySQL
最近有个开发团队抱怨我们平台包含的mysql cluster不行,总是报mysql的”heartbeat Error“,分析了他们收集的日志,没有发现mysql cluster节点之间的网络有问题,倒是发现了一个很有意思的现象,在mysql的slow log里面发现了大量的慢查询,基本上都是要1秒钟以上,很明显这种耗时高的慢查询会影响系统行为,指出这点让开发团队去优化他们的应用,很好奇他们竟然不知道有这些东西可以分析。。。。。。
数据库响应慢问题最多的就是查询了。现在大部分数据库都提供了性能分析的帮助手段。例如Oracle中会帮你直接找出慢的语句,并且提供优化方案。在MySQL中就要自己开启慢日志记录加以分析(记录可以保存在表或者文件中,默认是保存在文件中,我们系统使用的就是默认方式)。
先看看MySQL慢查询日志里面的记录长什么样的:
Time Id Command Argument # Time: 141010 9:33:57 # User@Host: root[root] @ localhost [] Id: 1 # Query_time: 0.000342 Lock_time: 0.000142 Rows_sent: 3 Rows_examined: 3 use test; SET timestamp=1412904837; select * from t;
这个日志应该很好理解了,第一个#记录时间戳,第二个#记录执行命令的用户和地址信息,第三个#记录执行查询的时间、锁的时间、返回行数、被扫描的行数。接着后面记录真正执行的SQL语句。还可以通过以下命令看看cvs存储格式每个字段意义。
SHOW CREATE TABLE mysql.slow_log;
接下来说说如何获取和分析慢日志吧。
查看MySQL慢日志参数
进入启动好的MySQL,执行以下命令
mysql> show variables like '%slow_query%'; +---------------------------+----------------------------------------+ | Variable_name | Value | +---------------------------+----------------------------------------+ | slow_query_log | OFF | | slow_query_log_file | /usr/local/mysql/data/cloudlu-slow.log | +---------------------------+----------------------------------------+
那么什么样的查询需要被日志呢?在MySQL中,没有index的查询以及超过指定时间同时超过指定扫描行数的查询需要记录在慢日志查询里面。
那么它们的参数又是怎么查看的呢?
没有index的查询记录开关
mysql> show global variables like '%indexes%'; +----------------------------------------+-------+ | Variable_name | Value | +----------------------------------------+-------+ | log_queries_not_using_indexes | OFF | | log_throttle_queries_not_using_indexes | 0 | +----------------------------------------+-------+
超过指定时长的查询开关
mysql> show global variables like '%long_query%'; +-----------------+-----------+ | Variable_name | Value | +-----------------+-----------+ | long_query_time | 10.000000 | +-----------------+-----------+ 1 row in set (0.00 sec)
就一个参数指定超过多少时长的查询需要被记录
超过指定行数的扫描查询开关
mysql> show variables like '%min_examined_row_limit%'; +------------------------+-------+ | Variable_name | Value | +------------------------+-------+ | min_examined_row_limit | 0 | +------------------------+-------+ 1 row in set (0.00 sec)
设置开启MySQL慢日志参数
进入MySQL,输入以下命令或者在MySQL的启动配置文件里面修改或者给MySQL添加启动参数,进入MySQL后的修改如下:
set global long_query_time=0.1; set global log_queries_not_using_indexes=on; set global slow_query_log = on;

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Les journaux de Win10 peuvent aider les utilisateurs à comprendre l'utilisation du système en détail. De nombreux utilisateurs doivent avoir rencontré le journal 6013 lorsqu'ils recherchent leurs propres journaux de gestion. Alors, que signifie ce code ? Qu'est-ce que le journal Win10 6013 : 1. Il s'agit d'un journal normal. Les informations contenues dans ce journal ne signifient pas que votre ordinateur a été redémarré, mais elles indiquent combien de temps le système a fonctionné depuis son dernier démarrage. Ce journal apparaîtra une fois par jour à 12 heures précises. Comment vérifier depuis combien de temps le système fonctionne ? Vous pouvez saisir les informations système dans cmd. Il y a une ligne dedans.

La fonction consiste à fournir des informations et des enregistrements d'utilisation en retour aux ingénieurs pour faciliter l'analyse des problèmes (utilisés pendant le développement car les utilisateurs eux-mêmes ne génèrent pas souvent des journaux de téléchargement, ils sont inutiles pour les utilisateurs) ; Le tampon de journalisation est une petite zone temporaire utilisée pour le stockage à court terme des vecteurs de modifications pour les journaux redo à écrire sur le disque. Une écriture de tampon de journal sur le disque est un lot de vecteurs de modification provenant de plusieurs transactions. Malgré cela, le vecteur de modification dans le tampon de journal est écrit sur le disque en temps quasi réel, et lorsque la session émet une instruction COMMIT, l'opération d'écriture dans le tampon de journal est effectuée en temps réel.

Les journaux de Win10 peuvent aider les utilisateurs à comprendre l'utilisation du système en détail. De nombreux utilisateurs doivent avoir vu de nombreux journaux d'erreurs lorsqu'ils recherchent leurs propres journaux de gestion. Alors, comment les résoudre ? Comment résoudre l'événement 7034 du journal Win10 : 1. Cliquez sur "Démarrer" pour ouvrir le "Panneau de configuration" 2. Recherchez "Outils d'administration" 3. Cliquez sur "Services" 4. Recherchez HDZBCommServiceForV2.0, cliquez avec le bouton droit sur "Arrêter le service" et modifiez-le. vers "Démarrage manuel "

Avec le développement rapide d'Internet et des applications Web, la gestion des journaux devient de plus en plus importante. Lors du développement d’applications Web, la manière de rechercher et de localiser les problèmes est une question très critique. Un système de journalisation est un outil très efficace qui peut nous aider à accomplir ces tâches. ThinkPHP6 fournit un système de journalisation puissant qui peut aider les développeurs d'applications à mieux gérer et suivre les événements qui se produisent dans les applications. Cet article explique comment utiliser le système de journalisation dans ThinkPHP6 et comment utiliser le système de journalisation.

iPhone vous permet d’ajouter des médicaments dans l’application Santé pour suivre et gérer les médicaments, vitamines et suppléments que vous prenez quotidiennement. Vous pouvez ensuite enregistrer les médicaments que vous avez pris ou ignorés lorsque vous recevez une notification sur votre appareil. Après avoir enregistré vos médicaments, vous pouvez voir à quelle fréquence vous les avez pris ou sautés pour vous aider à suivre votre état de santé. Dans cet article, nous vous guiderons pour afficher l'historique des journaux de médicaments sélectionnés dans l'application Santé sur iPhone. Un petit guide sur la façon d'afficher l'historique de votre journal de médicaments dans l'application Santé : Accédez à l'application Santé > Parcourir > Médicaments > Médicaments > Sélectionner un médicament > Options

Sur les systèmes Linux, vous pouvez utiliser la commande suivante pour afficher le contenu du fichier journal : Commande tail : La commande tail est utilisée pour afficher le contenu à la fin du fichier journal. Il s'agit d'une commande courante pour afficher les dernières informations du journal. tail [option] [nom du fichier] Les options couramment utilisées incluent : -n : Spécifiez le nombre de lignes à afficher, la valeur par défaut est de 10 lignes. -f : Surveillez le contenu du fichier en temps réel et affichez automatiquement le nouveau contenu lorsque le fichier est mis à jour. Exemple : tail-n20logfile.txt#Afficher les 20 dernières lignes du fichier logfile.txt tail-flogfile.txt#Surveiller le contenu mis à jour du fichier logfile.txt en temps réel Commande head : La commande head permet d'afficher le début du fichier journal

Les journaux de Win10 ont un contenu très riche. De nombreux utilisateurs ont dû voir l'erreur d'affichage de l'événement ID455 lors de la recherche de leurs propres journaux de gestion. Alors, qu'est-ce que cela signifie ? Qu'est-ce que l'événement ID455 dans le journal Win10 : 1. ID455 est l'erreur <erreur> qui s'est produite dans <fichier> lorsque la banque d'informations a ouvert le fichier journal.

Les trois commandes permettant d'afficher les journaux sous Linux sont : 1. la commande tail, qui peut afficher les modifications du contenu des fichiers et des fichiers journaux en temps réel 2. la commande multitail, qui peut surveiller plusieurs fichiers journaux en même temps 3. la commande less ; qui peut Les modifications apportées au journal peuvent être visualisées rapidement sans encombrer l'écran.
