Inhaltsverzeichnis
sql语句优化
一、SQL优化的一般步骤
Heim Datenbank MySQL-Tutorial 小贝_mysqlsql语句优化过程_MySQL

小贝_mysqlsql语句优化过程_MySQL

Jun 01, 2016 pm 12:59 PM
语句 过程

sql语句优化

一、SQL优化的一般步骤

(1)、通过show status命令了解各种SQL的执行频率。

(2)、定位执行效率较低的SQL语句-(重点select)

(3)、通过explain分析低效率的SQL语句的执行情况

(4)、确定问题并采取相应的优化措施

(1) 通过showstatus命令了解各种SQL的执行频率

MySQL客户端连接成功后,通过使用show[session|global] status 命令可以提供服务器状态信息。其中的session来表示当前的连接的统计结果,global来表示自数据库上次启动至今的统计结果。默认是session级别的。

下面的例子: show status like ‘Com_%’;

其中Com_XXX表示XXX语句所执行的次数。

重点注意:

Com_select,Com_insert,Com_update,Com_delete通过这几个参数,可以容易地了解到当前数据库的应用是以插入更新为主还是以查询操作为主,以及各类的SQL大致的执行比例是多少。

参数说明:

com_xxx表示每个xxx语句的执行次数.如:

com_select 表示执行select操作的次数,一次查询只累计加1

com_update 表示执行update操作的次数

com_insert 表示执行insert操作的次数,对批量插入只算一次

com_delete 表示执行delete操作的次数

只针对innodb存储引擎的参数

Innodb_rows_deleted执行delete操作所影响的行数

Innodb_rows_inserted执行insert操作所影响的行数

Innodb_rows_read执行select操作所影响的行数

Innodb_rows_updated执行update操作所影响的行数

还有几个常用的参数便于用户了解数据库的基本情况。

connections:试图连接MySQL服务器的次数(成功or失败都会进行累加)

uptime:服务器工作的时间(单位秒)

slow_queries:慢查询的次数 (默认是10)

(2)、定位执行效率较低的SQL语句

通过开启慢查询

(3)、通过explain分析低效率的SQL语句的执行情况

(4)、确定问题并采取相应的优化措施

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Zurück in die Zukunft So verbringen Sie 1996–24 Zurück in die Zukunft So verbringen Sie 1996–24 Mar 02, 2024 pm 12:58 PM

In „Zurück in die Zukunft 1999“ werden die Spieler mit vielen Level-Herausforderungen konfrontiert, und jedes Level bringt völlig andere Herausforderungen mit sich. Als eines der Level werden sicherlich viele Spieler darüber nachdenken. Sie wissen also, wie man dieses Level herausfordert Im Folgenden finden Sie auch relevante Freigabemethoden. Zurück in die Zukunft 1996-24 Freigabemethode 1. Nachdem Sie in einem Satz auf Level 30 gebrannt haben, warten Sie, bis der Boss betäubt ist, und verprügeln Sie ihn heftig. 2. Priorisieren Sie die Verwendung von Haupt-C und 142d, um in einer Runde zu brennen. 3. In der zweiten Runde nutzen Sie die kleinen Fähigkeiten der Hilfs- und Kindermädchen zum Brennen und die Hauptkarte C, um einen großen Zug zu bauen. 4. Der Boss wird in drei Runden betäubt und dann direkt mit seinen ultimativen Bewegungs- und Schadensfähigkeiten geschlagen.

Wuthering WavesSo bestehen Sie den Fantasyland-Schwierigkeitsgrad 3 Wuthering WavesSo bestehen Sie den Fantasyland-Schwierigkeitsgrad 3 Feb 28, 2024 pm 10:19 PM

Teilen Sie uns mit, wie Sie das Level von Ming Tide Fantasyland Schwierigkeitsgrad 3 bestehen. Viele Leute in Mingchao schließen Level 3 dieses Fantasy-Landes ab. Viele Freunde wissen noch nicht, was sie tun sollen, aber keine Sorge, der Herausgeber wird es Ihnen bringen Wenn Sie wissen, welche Strategien darin enthalten sind, kommen Sie vorbei und probieren Sie es aus. Wie kann man den Bell Turtle-Charakter im Schwierigkeitsgrad 3 bestehen? Durch die Stärkung der Resonanzfähigkeiten wird die Angriffseffizienz erhöht und der Schaden kann auch größer sein ausgetauscht. [Metapher] Wählen Sie aus den ersten drei Stufen: Sonne im Wald: Sie kann den Schaden von Ji Yan erheblich erhöhen. Wenn die Fertigkeit öfter verwendet wird, kann sie einen sehr guten kritischen Treffereffekt erzeugen. Schutzeinrichtung: Resonanztechnik verwenden

Multi-Catch-Anweisung in PHP8.0 Multi-Catch-Anweisung in PHP8.0 May 14, 2023 pm 01:51 PM

Mit der Entwicklung von Webanwendungen wurde die PHP-Sprache in großem Umfang in der Webentwicklung eingesetzt. In der PHP8.0-Version wurde eine neue Sprachfunktion eingeführt – die Multi-Catch-Anweisung. Was ist eine Multi-Catch-Anweisung? In früheren PHP-Versionen mussten Entwickler mehrere Catch-Anweisungen schreiben, um mehrere Ausnahmetypen zu behandeln. Der folgende Codeblock zeigt beispielsweise die Behandlung von zwei verschiedenen Ausnahmen: try{//Somecodethatmay

Wie implementiert man die Anweisung zum Einfügen von Daten in MySQL? Wie implementiert man die Anweisung zum Einfügen von Daten in MySQL? Nov 08, 2023 am 11:48 AM

Wie implementiert man die Anweisung zum Einfügen von Daten in MySQL? Bei der Verwendung einer MySQL-Datenbank ist das Einfügen von Daten ein sehr einfacher und häufiger Vorgang. Durch das Einfügen von Daten können neue Datensätze zu Datenbanktabellen hinzugefügt werden, um den Geschäftsbetrieb zu unterstützen. In diesem Artikel wird erläutert, wie Sie mit der INSERT-Anweisung in MySQL Dateneinfügungsvorgänge implementieren, und es werden spezifische Codebeispiele bereitgestellt. Die INSERT-Anweisung in MySQL wird verwendet, um neue Datensätze in die Datenbanktabelle einzufügen. Das grundlegende Syntaxformat lautet wie folgt: INSERTINTOt

Verwendung der C#-try-Anweisung Verwendung der C#-try-Anweisung Feb 22, 2024 pm 12:45 PM

Die Verwendung der try-Anweisung in C# erfordert spezifische Codebeispiele. C# ist eine objektorientierte Programmiersprache, in der die try-Anweisung eine Struktur zum Erfassen und Behandeln von Ausnahmen ist. Mit der try-Anweisung können wir Code schreiben, um eventuell auftretende Ausnahmen zu behandeln und so die Stabilität und Zuverlässigkeit des Programms zu verbessern. In diesem Artikel stellen wir die Verwendung der try-Anweisung in C# vor und stellen einige spezifische Codebeispiele bereit, um den Lesern das Verständnis zu erleichtern. In C# besteht die try-Anweisung aus try-Block, Catch-Block und optionalfina

Beherrschen Sie die Arten von Python-Flusskontrollanweisungen und lernen Sie von Grund auf! Beherrschen Sie die Arten von Python-Flusskontrollanweisungen und lernen Sie von Grund auf! Jan 20, 2024 am 09:02 AM

Um Python von Grund auf zu lernen, müssen Sie zunächst die Arten von Flusskontrollanweisungen verstehen! Python ist eine einfache und leistungsstarke Programmiersprache, die in der Datenanalyse, künstlichen Intelligenz, Netzwerkentwicklung und verschiedenen Bereichen des wissenschaftlichen Rechnens weit verbreitet ist. Als Anfänger ist es sehr wichtig, grundlegende Flusskontrollanweisungen zu beherrschen, da sie die Grundlage für die Verwirklichung logischer Urteile und die Steuerung des Programmausführungsflusses bilden. In Python gibt es drei Haupttypen von Flusskontrollanweisungen: sequentielle Strukturen, bedingte Strukturen und Schleifenstrukturen. Im Folgenden werden diese drei Prozesssteuerungsanweisungen im Detail vorgestellt und die entsprechenden Angaben gegeben

Um Flusskontrollanweisungen in Python zu verstehen, müssen Sie mehrere Situationen beherrschen Um Flusskontrollanweisungen in Python zu verstehen, müssen Sie mehrere Situationen beherrschen Jan 20, 2024 am 08:06 AM

Python ist eine weit verbreitete Programmiersprache auf hohem Niveau. Sie ist leicht zu erlernen, effizient und flexibel und wird von Entwicklern sehr geschätzt. In Python sind Flusskontrollanweisungen ein wichtiger Bestandteil der Implementierung der Programmlogik. In diesem Artikel werden häufig verwendete Flusskontrollanweisungen in Python vorgestellt und Codebeispiele bereitgestellt, um das Verständnis zu vertiefen. Zu den gängigen Flusskontrollanweisungen in Python gehören bedingte Anweisungen und Schleifenanweisungen. Bedingte Anweisungen führen unterschiedliche Codeblöcke basierend auf der wahren oder falschen Bedingung aus und werden zur Bestimmung und Auswahl von Ausführungszweigen verwendet. Zur Wiederholung wird die Schleifenanweisung verwendet

Wie implementiert man die Anweisung zum Entsperren der Tabelle in MySQL? Wie implementiert man die Anweisung zum Entsperren der Tabelle in MySQL? Nov 08, 2023 pm 06:28 PM

Wie implementiert man die Anweisung zum Entsperren der Tabelle in MySQL? In MySQL sind Tabellensperren ein häufig verwendeter Sperrmechanismus zum Schutz der Datenintegrität und -konsistenz. Wenn eine Transaktion eine Tabelle liest und schreibt, können andere Transaktionen die Tabelle nicht ändern. Dieser Sperrmechanismus gewährleistet bis zu einem gewissen Grad die Datenkonsistenz, kann aber auch dazu führen, dass andere Transaktionen blockiert werden. Wenn eine Transaktion aus irgendeinem Grund nicht fortgesetzt werden kann, müssen wir die Tabelle daher manuell entsperren, damit andere Transaktionen fortgesetzt werden können. MySQL bietet eine Vielzahl von

See all articles