Heim Datenbank MySQL-Tutorial MySQL查询优化系列讲座之查询优化器(2)_MySQL

MySQL查询优化系列讲座之查询优化器(2)_MySQL

Jun 01, 2016 pm 01:53 PM
优化 查询

  为了使这个查询的效率更高,给其中一个联结列添加索引并重新执行EXPLAIN语句:

mysql> ALTER TABLE t2 ADD INDEX (i2);
mysql> EXPLAIN SELECT t1.i1, t2.i2 FROM t1, t2 WHERE t1.i1 = t2.i2G
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: t1
type: ALL
possible_keys: NULL
key: NULL
key_len: NULL
ref: NULL
rows: 1000
Extra:
*************************** 2. row ***************************
id: 1
select_type: SIMPLE
table: t2
type: ref
possible_keys: i2
key: i2
key_len: 5
ref: sampdb.t1.i1
rows: 10
Extra: Using where; Using index

  我们可以看到性能提高了。T1的输出没有改变(表明还是需要进行全表扫描),但是优化器处理t2的方式就有所不同了:

  ? 类型从ALL改变为ref,意味着可以使用参考值(来自t1的值)来执行索引查找,定位t2中合格的数据行。

  ? 参考值在参考(ref)字段中给出了:sampdb.t1.i1。

  ? 行数值从1000降低到了10,显示出优化器相信对于t1中的每一行,它只需要检查t2中的10行(这是一个悲观的估计值。实际上,在t2中只有一行与t1中数据行匹配。我们在后面会看到如何帮助优化器改善这个估计值)。数据行组合的全部估计值使1000×10=10000。它比前面的没有索引的时候估计出来的一百万好多了。

  对t1进行索引有价值吗?实际上,对于这个特定的联结操作,扫描一张表是必要的,因此没有必要对t1建立索引。如果你想看到效果,可以索引t1.i1并再次运行EXPLAIN:

mysql> ALTER TABLE t1 ADD INDEX (i1);
mysql> EXPLAIN SELECT t1.i1, t2.i2 FROM t1, t2 WHERE t1.i1 = t2.i2G
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: t1
type: index
possible_keys: i1
key: i1
key_len: 5
ref: NULL
rows: 1000
Extra: Using index
*************************** 2. row ***************************
id: 1
select_type: SIMPLE
table: t2
type: ref
possible_keys: i2
key: i2
key_len: 5
ref: sampdb.t1.i1
rows: 10
Extra: Using where; Using index

  上面的输出与前面的EXPLAIN的输出相似,但是添加索引对t1的输出有一些改变。类型从NULL改成了index,附加(Extra)从空的改成了Using index。这些改变表明,尽管对索引的值仍然需要执行全表扫描,但是优化器还是可以直接从索引文件中读取值,根据不需要使用数据文件。你可以从MyISAM表中看到这类结果,在这种情况下,优化器知道自己只询问索引文件就能够得到所有需要的信息。对于InnoDB 和BDB表也有这样的结果,在这种情况下优化器可以单独使用索引中的信息而不用搜索数据行。

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

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Repo: Wie man Teamkollegen wiederbelebt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

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)

So überprüfen Sie Ihre akademischen Qualifikationen auf Xuexin.com So überprüfen Sie Ihre akademischen Qualifikationen auf Xuexin.com Mar 28, 2024 pm 04:31 PM

Wie kann ich meine akademischen Qualifikationen auf Xuexin.com überprüfen? Sie können Ihre akademischen Qualifikationen auf Xuexin.com überprüfen. Viele Benutzer wissen nicht, wie sie ihre akademischen Qualifikationen auf Xuexin.com überprüfen können Benutzer kommen vorbei und schauen sich um! Tutorial zur Nutzung von Xuexin.com: So überprüfen Sie Ihre akademischen Qualifikationen auf Xuexin.com 1. Zugang zu Xuexin.com: https://www.chsi.com.cn/ 2. Website-Abfrage: Schritt 1: Klicken Sie auf die Adresse von Xuexin.com Um die Startseite aufzurufen, klicken Sie oben auf [Bildungsabfrage]; Schritt 2: Klicken Sie auf der neuesten Webseite auf [Abfrage], wie durch den Pfeil in der Abbildung unten dargestellt. Schritt 3: Klicken Sie dann auf der neuen Seite auf [Anmelden bei akademischer Kreditdatei]. Schritt 4: Geben Sie auf der Anmeldeseite die Informationen ein und klicken Sie auf [Anmelden].

12306 So überprüfen Sie historische Ticketkaufdatensätze. So überprüfen Sie historische Ticketkaufdatensätze 12306 So überprüfen Sie historische Ticketkaufdatensätze. So überprüfen Sie historische Ticketkaufdatensätze Mar 28, 2024 pm 03:11 PM

Laden Sie die neueste Version der Ticketbuchungs-App 12306 herunter, mit der jeder sehr zufrieden ist. Es gibt viele Ticketquellen, die in der Software bereitgestellt werden -Namenauthentifizierung zum Online-Kauf von Tickets. Alle Benutzer können ganz einfach Reisetickets und Flugtickets kaufen und verschiedene Ermäßigungen genießen. Sie können auch im Voraus mit der Buchung beginnen, um Tickets zu erhalten. Damit können Sie mit einem Klick dorthin fahren, wo Sie möchten, und so das Reisen einfacher und bequemer gestalten Noch komfortabler: Der Herausgeber stellt die Details jetzt online dar. Bietet 12306 Benutzern die Möglichkeit, historische Ticketkaufaufzeichnungen einzusehen. 1. Öffnen Sie Railway 12306, klicken Sie unten rechts auf „Mein“ und dann auf „Meine Bestellung“. 2. Klicken Sie auf der Bestellseite auf „Bezahlt“. 3. Auf der kostenpflichtigen Seite

Vergleich der Ähnlichkeiten und Unterschiede zwischen MySQL und PL/SQL Vergleich der Ähnlichkeiten und Unterschiede zwischen MySQL und PL/SQL Mar 16, 2024 am 11:15 AM

MySQL und PL/SQL sind zwei unterschiedliche Datenbankverwaltungssysteme, die die Merkmale relationaler Datenbanken bzw. prozeduraler Sprachen darstellen. In diesem Artikel werden die Ähnlichkeiten und Unterschiede zwischen MySQL und PL/SQL anhand konkreter Codebeispiele zur Veranschaulichung verglichen. MySQL ist ein beliebtes relationales Datenbankverwaltungssystem, das Structured Query Language (SQL) zum Verwalten und Betreiben von Datenbanken verwendet. PL/SQL ist eine für Oracle-Datenbanken einzigartige prozedurale Sprache und wird zum Schreiben von Datenbankobjekten wie gespeicherten Prozeduren, Triggern und Funktionen verwendet. Dasselbe

C++-Programmoptimierung: Techniken zur Reduzierung der Zeitkomplexität C++-Programmoptimierung: Techniken zur Reduzierung der Zeitkomplexität Jun 01, 2024 am 11:19 AM

Die Zeitkomplexität misst die Ausführungszeit eines Algorithmus im Verhältnis zur Größe der Eingabe. Zu den Tipps zur Reduzierung der Zeitkomplexität von C++-Programmen gehören: Auswahl geeigneter Container (z. B. Vektor, Liste) zur Optimierung der Datenspeicherung und -verwaltung. Nutzen Sie effiziente Algorithmen wie die schnelle Sortierung, um die Rechenzeit zu verkürzen. Eliminieren Sie mehrere Vorgänge, um Doppelzählungen zu reduzieren. Verwenden Sie bedingte Verzweigungen, um unnötige Berechnungen zu vermeiden. Optimieren Sie die lineare Suche, indem Sie schnellere Algorithmen wie die binäre Suche verwenden.

So optimieren Sie die Startelemente des WIN7-Systems So optimieren Sie die Startelemente des WIN7-Systems Mar 26, 2024 pm 06:20 PM

1. Drücken Sie die Tastenkombination (Win-Taste + R) auf dem Desktop, um das Ausführungsfenster zu öffnen, geben Sie dann [regedit] ein und drücken Sie zur Bestätigung die Eingabetaste. 2. Nachdem wir den Registrierungseditor geöffnet haben, klicken wir zum Erweitern auf [HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorer] und prüfen dann, ob sich im Verzeichnis ein Serialize-Element befindet. Wenn nicht, können wir mit der rechten Maustaste auf Explorer klicken, ein neues Element erstellen und es Serialize nennen. 3. Klicken Sie dann auf „Serialisieren“, klicken Sie dann mit der rechten Maustaste auf die leere Stelle im rechten Bereich, erstellen Sie einen neuen DWORD-Wert (32) und nennen Sie ihn „Star“.

Die Parameterkonfiguration des Vivox100 wurde enthüllt: Wie kann die Prozessorleistung optimiert werden? Die Parameterkonfiguration des Vivox100 wurde enthüllt: Wie kann die Prozessorleistung optimiert werden? Mar 24, 2024 am 10:27 AM

Die Parameterkonfiguration des Vivox100 wurde enthüllt: Wie kann die Prozessorleistung optimiert werden? In der heutigen Zeit der rasanten technologischen Entwicklung sind Smartphones zu einem unverzichtbaren Bestandteil unseres täglichen Lebens geworden. Als wichtiger Bestandteil eines Smartphones steht die Leistungsoptimierung des Prozessors in direktem Zusammenhang mit der Benutzererfahrung des Mobiltelefons. Als hochkarätiges Smartphone hat die Parameterkonfiguration des Vivox100 große Aufmerksamkeit erregt, insbesondere die Optimierung der Prozessorleistung hat bei den Benutzern große Aufmerksamkeit erregt. Als „Gehirn“ des Mobiltelefons beeinflusst der Prozessor direkt die Laufgeschwindigkeit des Mobiltelefons.

Welche Möglichkeiten gibt es, Ineffizienzen in PHP-Funktionen zu beheben? Welche Möglichkeiten gibt es, Ineffizienzen in PHP-Funktionen zu beheben? May 02, 2024 pm 01:48 PM

Fünf Möglichkeiten zur Optimierung der PHP-Funktionseffizienz: Vermeiden Sie unnötiges Kopieren von Variablen. Verwenden Sie Referenzen, um das Kopieren von Variablen zu vermeiden. Vermeiden Sie wiederholte Funktionsaufrufe. Einfache Inline-Funktionen. Schleifen mithilfe von Arrays optimieren.

Wie kann ich den aktuellen Preis von Tongshen Coin überprüfen? Wie kann ich den aktuellen Preis von Tongshen Coin überprüfen? Mar 21, 2024 pm 02:46 PM

Wie kann ich den aktuellen Preis von Tongshen Coin überprüfen? Token ist eine digitale Währung, die zum Kauf von Gegenständen, Diensten und Vermögenswerten im Spiel verwendet werden kann. Es ist dezentralisiert, das heißt, es wird nicht von Regierungen oder Finanzinstituten kontrolliert. Transaktionen von Tongshen Coin werden auf der Blockchain durchgeführt, einem verteilten Hauptbuch, das die Informationen aller Tongshen Coin-Transaktionen aufzeichnet. Um den aktuellen Token-Preis zu überprüfen, können Sie die folgenden Schritte ausführen: Wählen Sie eine zuverlässige Website oder App zur Preisprüfung. Zu den häufig verwendeten Websites zur Preisabfrage gehören: CoinMarketCap: https://coinmarketcap.com/Coindesk: https://www.coindesk.com/ Binance: https://www.bin

See all articles