Inhaltsverzeichnis
创建组合索引
删除组合索引
单列索引陷阱
组合索引陷阱
与单列索引的区别
组合索引使用场景
Heim Datenbank MySQL-Tutorial Erhalten Sie ein umfassendes Verständnis der kombinierten Indizes in MySQL und sehen Sie die Unterschiede zu einspaltigen Indizes

Erhalten Sie ein umfassendes Verständnis der kombinierten Indizes in MySQL und sehen Sie die Unterschiede zu einspaltigen Indizes

Nov 03, 2021 pm 07:28 PM
mysql 索引

In diesem Artikel erfahren Sie mehr über den kombinierten Index in MySQL, stellen die Methoden zum Erstellen und Löschen des kombinierten Index vor, sprechen über die Fallstricke des kombinierten Index, den Unterschied zwischen dem kombinierten Index und dem Einzelspaltenindex sowie die Verwendungsszenarien des kombinierten Indexes wird hoffentlich für alle hilfreich sein!

Erhalten Sie ein umfassendes Verständnis der kombinierten Indizes in MySQL und sehen Sie die Unterschiede zu einspaltigen Indizes

Was ist ein zusammengesetzter Index? Ein Index für zwei oder mehr Spalten wird als gemeinsamer Index bezeichnet, und ein gemeinsamer Index wird auch als zusammengesetzter Index bezeichnet. [Verwandte Empfehlungen: MySQL-Video-Tutorial

Zum Beispiel ist der Index key index (a,b,c), der a,b| unterstützen kann. c 3 Kombinationen werden für die Suche verwendet, aber b,c wird für die Suche nicht unterstützt. Bei Verwendung kann auch die Kombination von a, c verwendet werden, tatsächlich wird jedoch nur der Index von a verwendetErhalten Sie ein umfassendes Verständnis der kombinierten Indizes in MySQL und sehen Sie die Unterschiede zu einspaltigen Indizes

Erstellen ein kombinierter Index key index (a,b,c) 可以支持 a | a,b| a,b,c 3 种组合进行查找,但不支持 b,c 进行查找。在使用的时候,a, c 组合也可以用,但实际上只用到了 a 的索引

Erhalten Sie ein umfassendes Verständnis der kombinierten Indizes in MySQL und sehen Sie die Unterschiede zu einspaltigen Indizes

创建组合索引

-- 普通的组合索引
create index index_name on table_name (column1, column2, ...)
-- 组合要求唯一的索引,相比与上一种,多出了 【unique】关键字
create unique index index_name on table_name (column1, column2, ...)
Nach dem Login kopieren

Erhalten Sie ein umfassendes Verständnis der kombinierten Indizes in MySQL und sehen Sie die Unterschiede zu einspaltigen Indizes

删除组合索引

-- 用法 1
drop index index_name on talbe_name
-- 用法 2
alter table table_name drop index index_name
-- 用法 3,对 2 的包装
alter table table_name drop primary key
Nach dem Login kopieren

单列索引陷阱

Erhalten Sie ein umfassendes Verständnis der kombinierten Indizes in MySQL und sehen Sie die Unterschiede zu einspaltigen Indizes

Erhalten Sie ein umfassendes Verständnis der kombinierten Indizes in MySQL und sehen Sie die Unterschiede zu einspaltigen Indizes

如图所示,我们创建了 2 个索引,在 where 中使用 and 进行查询是,从执行计划里看只使用到了第一个条件上的索引,后续的索引直接被忽略掉

组合索引陷阱

如图,现在建立组合索引 a,b,c

Erhalten Sie ein umfassendes Verständnis der kombinierten Indizes in MySQL und sehen Sie die Unterschiede zu einspaltigen Indizes

上图的条件查询为 b,a,c,mysql 会自动处理条件顺序变为 a,b,c , 再使用定义好的组合索引

Erhalten Sie ein umfassendes Verständnis der kombinierten Indizes in MySQL und sehen Sie die Unterschiede zu einspaltigen Indizes

上图的查询条件是 b,a,同样的,mysql 调整条件顺序为 a,b,再走组合索引

Erhalten Sie ein umfassendes Verständnis der kombinierten Indizes in MySQL und sehen Sie die Unterschiede zu einspaltigen Indizes

上图的查询条件是 b,c,很明显,由于没有使用 a 作为条件列,导致 mysql 没有使用组合索引

与单列索引的区别

联合索引中列的顺序非常重要,从左原则。

单个索引就是一个一个起作用,也就是说有三个单个索引,哪个条件查询在前哪个起作用,其他不起作用。

组合索引使用场景

  • where 条件会经常出现的,并且当前表的数量比较大。

  • where 条件中是用 and 而非 or

    rrreee
  • Erhalten Sie ein umfassendes Verständnis der kombinierten Indizes in MySQL und sehen Sie die Unterschiede zu einspaltigen Indizes
  • Kombinierten Index löschen

  • rrreee

Einzelspaltiger Index-Trap

Erhalten Sie ein umfassendes Verständnis der kombinierten Indizes in MySQL und sehen Sie die Unterschiede zu einspaltigen Indizes

🎜Erhalten Sie ein umfassendes Verständnis der kombinierten Indizes in MySQL und sehen Sie die Unterschiede zu einspaltigen Indizes🎜🎜Wie im Bild gezeigt, haben wir 2 Indizes erstellt und and Bei der Abfrage aus dem Ausführungsplan wird nur der Index für die erste Bedingung verwendet und nachfolgende Indizes werden direkt ignoriert🎜

🎜Kombinierte Indexfalle 🎜 🎜🎜Wie im Bild gezeigt, erstellen Sie nun den kombinierten Index a, b, c🎜🎜Erhalten Sie ein umfassendes Verständnis der kombinierten Indizes in MySQL und sehen Sie die Unterschiede zu einspaltigen Indizes🎜🎜Die Bedingungsabfrage im obigen Bild lautet b,a,c, und MySQL verarbeitet die Bedingungssequenz automatisch in a,b,c und verwenden Sie dann den definierten kombinierten Index 🎜🎜<img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/image/149/823/571/1635938629900948.png" class="lazy" title="163593860143734Erhalten Sie ein umfassendes Verständnis der kombinierten Indizes in MySQL und sehen Sie die Unterschiede zu einspaltigen Indizes" alt="Erhalten Sie ein umfassendes Verständnis der kombinierten Indizes in MySQL und sehen Sie die Unterschiede zu einspaltigen Indizes">🎜🎜Die Abfragebedingung im obigen Bild ist <code>b,a. Ebenso passt MySQL die Bedingungsreihenfolge an a,b und verwendet dann den kombinierten Index 🎜🎜<img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/image/149/823/571/1635938629900948.png" class="lazy" title="1635938629900948.png" alt="Erhalten Sie ein umfassendes Verständnis der kombinierten Indizes in MySQL und sehen Sie die Unterschiede zu einspaltigen Indizes">🎜🎜Up Die Abfragebedingung des Diagramms ist <code>b,c, da a offensichtlich nicht als Bedingungsspalte verwendet wird Verwenden Sie den kombinierten Index🎜

🎜Unterschiede zum einspaltigen Index🎜🎜🎜Die Reihenfolge der Spalten in einem gemeinsamen Index ist nach dem Linksprinzip sehr wichtig. 🎜🎜Einzelne Indizes funktionieren einzeln, das heißt, es gibt drei einzelne Indizes, je nachdem, welche Bedingungsabfrage zuerst funktioniert, und die anderen funktionieren nicht. 🎜

🎜Kombinierte Indexnutzungsszenarien🎜🎜
    🎜🎜wo Bedingungen häufig angezeigt werden und die Anzahl der aktuellen Tabellen angezeigt wird groß verglichen werden. 🎜🎜🎜🎜where Bei Verwendung von and anstelle von or in der Bedingung. 🎜🎜🎜🎜Ein gemeinsamer Index ist besser geeignet als ein einzelner Index, da der Index eine bestimmte Menge an Speicherplatz belegt, was bedeutet, dass ein gewisser Overhead entsteht. Wenn mehr als ein einzelner Index vorhanden ist, entsteht viel Verschwendung Der gemeinsame Index entspricht mehreren. Erstellen Sie einen Index für jede Spalte und erstellen Sie ihn nur einmal, was unter der Bedingung und sehr gut geeignet ist. 🎜🎜🎜🎜Weitere Programmierkenntnisse finden Sie unter: 🎜Programmiervideo🎜! ! 🎜

Das obige ist der detaillierte Inhalt vonErhalten Sie ein umfassendes Verständnis der kombinierten Indizes in MySQL und sehen Sie die Unterschiede zu einspaltigen Indizes. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
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)

MySQL: Einfache Konzepte für einfaches Lernen MySQL: Einfache Konzepte für einfaches Lernen Apr 10, 2025 am 09:29 AM

MySQL ist ein Open Source Relational Database Management System. 1) Datenbank und Tabellen erstellen: Verwenden Sie die Befehle erstellte und creatEtable. 2) Grundlegende Vorgänge: Einfügen, aktualisieren, löschen und auswählen. 3) Fortgeschrittene Operationen: Join-, Unterabfrage- und Transaktionsverarbeitung. 4) Debugging -Fähigkeiten: Syntax, Datentyp und Berechtigungen überprüfen. 5) Optimierungsvorschläge: Verwenden Sie Indizes, vermeiden Sie ausgewählt* und verwenden Sie Transaktionen.

Wie man phpmyadmin öffnet Wie man phpmyadmin öffnet Apr 10, 2025 pm 10:51 PM

Sie können PhpMyAdmin in den folgenden Schritten öffnen: 1. Melden Sie sich beim Website -Bedienfeld an; 2. Finden und klicken Sie auf das Symbol phpmyadmin. 3. Geben Sie MySQL -Anmeldeinformationen ein; 4. Klicken Sie auf "Login".

MySQL: Eine Einführung in die beliebteste Datenbank der Welt MySQL: Eine Einführung in die beliebteste Datenbank der Welt Apr 12, 2025 am 12:18 AM

MySQL ist ein Open Source Relational Database Management -System, das hauptsächlich zum schnellen und zuverlässigen Speicher und Abrufen von Daten verwendet wird. Sein Arbeitsprinzip umfasst Kundenanfragen, Abfragebedingungen, Ausführung von Abfragen und Rückgabergebnissen. Beispiele für die Nutzung sind das Erstellen von Tabellen, das Einsetzen und Abfragen von Daten sowie erweiterte Funktionen wie Join -Operationen. Häufige Fehler umfassen SQL -Syntax, Datentypen und Berechtigungen sowie Optimierungsvorschläge umfassen die Verwendung von Indizes, optimierte Abfragen und die Partitionierung von Tabellen.

Warum MySQL verwenden? Vorteile und Vorteile Warum MySQL verwenden? Vorteile und Vorteile Apr 12, 2025 am 12:17 AM

MySQL wird für seine Leistung, Zuverlässigkeit, Benutzerfreundlichkeit und Unterstützung der Gemeinschaft ausgewählt. 1.MYSQL bietet effiziente Datenspeicher- und Abruffunktionen, die mehrere Datentypen und erweiterte Abfragevorgänge unterstützen. 2. Übernehmen Sie die Architektur der Client-Server und mehrere Speichermotoren, um die Transaktion und die Abfrageoptimierung zu unterstützen. 3. Einfach zu bedienend unterstützt eine Vielzahl von Betriebssystemen und Programmiersprachen. V.

So verwenden Sie ein einzelnes Gewinde -Redis So verwenden Sie ein einzelnes Gewinde -Redis Apr 10, 2025 pm 07:12 PM

Redis verwendet eine einzelne Gewindearchitektur, um hohe Leistung, Einfachheit und Konsistenz zu bieten. Es wird E/A-Multiplexing, Ereignisschleifen, nicht blockierende E/A und gemeinsame Speicher verwendet, um die Parallelität zu verbessern, jedoch mit Einschränkungen von Gleichzeitbeschränkungen, einem einzelnen Ausfallpunkt und ungeeigneter Schreib-intensiver Workloads.

Mysqls Platz: Datenbanken und Programmierung Mysqls Platz: Datenbanken und Programmierung Apr 13, 2025 am 12:18 AM

Die Position von MySQL in Datenbanken und Programmierung ist sehr wichtig. Es handelt sich um ein Open -Source -Verwaltungssystem für relationale Datenbankverwaltung, das in verschiedenen Anwendungsszenarien häufig verwendet wird. 1) MySQL bietet effiziente Datenspeicher-, Organisations- und Abruffunktionen und unterstützt Systeme für Web-, Mobil- und Unternehmensebene. 2) Es verwendet eine Client-Server-Architektur, unterstützt mehrere Speichermotoren und Indexoptimierung. 3) Zu den grundlegenden Verwendungen gehören das Erstellen von Tabellen und das Einfügen von Daten, und erweiterte Verwendungen beinhalten Multi-Table-Verknüpfungen und komplexe Abfragen. 4) Häufig gestellte Fragen wie SQL -Syntaxfehler und Leistungsprobleme können durch den Befehl erklären und langsam abfragen. 5) Die Leistungsoptimierungsmethoden umfassen die rationale Verwendung von Indizes, eine optimierte Abfrage und die Verwendung von Caches. Zu den Best Practices gehört die Verwendung von Transaktionen und vorbereiteten Staten

MySQL und SQL: Wesentliche Fähigkeiten für Entwickler MySQL und SQL: Wesentliche Fähigkeiten für Entwickler Apr 10, 2025 am 09:30 AM

MySQL und SQL sind wesentliche Fähigkeiten für Entwickler. 1.MYSQL ist ein Open -Source -Relational Database Management -System, und SQL ist die Standardsprache, die zum Verwalten und Betrieb von Datenbanken verwendet wird. 2.MYSQL unterstützt mehrere Speichermotoren durch effiziente Datenspeicher- und Abruffunktionen, und SQL vervollständigt komplexe Datenoperationen durch einfache Aussagen. 3. Beispiele für die Nutzung sind grundlegende Abfragen und fortgeschrittene Abfragen wie Filterung und Sortierung nach Zustand. 4. Häufige Fehler umfassen Syntaxfehler und Leistungsprobleme, die durch Überprüfung von SQL -Anweisungen und Verwendung von Erklärungsbefehlen optimiert werden können. 5. Leistungsoptimierungstechniken umfassen die Verwendung von Indizes, die Vermeidung vollständiger Tabellenscanning, Optimierung von Join -Operationen und Verbesserung der Code -Lesbarkeit.

So erstellen Sie eine SQL -Datenbank So erstellen Sie eine SQL -Datenbank Apr 09, 2025 pm 04:24 PM

Das Erstellen einer SQL -Datenbank umfasst 10 Schritte: Auswählen von DBMs; Installation von DBMs; Erstellen einer Datenbank; Erstellen einer Tabelle; Daten einfügen; Daten abrufen; Daten aktualisieren; Daten löschen; Benutzer verwalten; Sichern der Datenbank.

See all articles