suchen
HeimDatenbankMySQL-TutorialWozu dient der MySQL-Index?
Wozu dient der MySQL-Index?Jun 10, 2022 pm 08:23 PM
mysql

In MySQL können Indizes verwendet werden, um Datensätze mit einem bestimmten Wert in der Datentabelle schnell abzufragen, wodurch die Datenabfrage erheblich beschleunigt wird. Nach dem Erstellen eines Indexes für eine Spalte können Sie diese bei der Suche nach Daten direkt anhand des Indexes finden Entsprechend der Position der Datensatzzeile können Sie die Daten schnell finden. Wenn die abgefragte Spalte in der Tabelle über einen Index verfügt, kann MySQL schnell einen Speicherort zum Durchsuchen der Datendatei erreichen, ohne alle Daten anzeigen zu müssen, was viel Zeit spart und durch die Erstellung eines eindeutigen Index jede Datenzeile enthält Die Eindeutigkeit der Datenbanktabelle kann garantiert werden.

Wozu dient der MySQL-Index?

Die Betriebsumgebung dieses Tutorials: Windows7-System, MySQL8-Version, Dell G3-Computer.

Ein Index ist eine spezielle Datenbankstruktur, die aus einer oder mehreren Spalten in der Datentabelle besteht. Sie kann verwendet werden, um Datensätze mit einem bestimmten Wert in der Datentabelle schnell abzufragen.

Bei Indizes müssen Sie beim Abfragen von Daten nicht alle aufgezeichneten Informationen lesen, sondern nur die Indexspalten abfragen. Andernfalls liest das Datenbanksystem alle Informationen jedes Datensatzes zum Abgleich.

Der Index kann mit der phonetischen Reihenfolge des Xinhua-Wörterbuchs verglichen werden. Wenn Sie beispielsweise das Wort „ku“ nachschlagen möchten und keine Lautfolge verwenden, müssen Sie es Seite für Seite in den 400 Seiten des Wörterbuchs finden. Wenn Sie jedoch das Pinyin extrahieren, um eine phonetische Sequenz zu bilden, müssen Sie es nur direkt in der Phonetiktabelle von mehr als 10 Seiten nachschlagen. Dadurch kann viel Zeit gespart werden.

Daher kann die Verwendung von Indizes die Abfragegeschwindigkeit der Datenbank erheblich verbessern und die Leistung des Datenbanksystems effektiv verbessern.

Warum einen Index verwenden

Ein Index ist eine Tabelle mit Korrespondenzen zwischen Spaltenwerten und Datensatzzeilen, die in einer bestimmten Reihenfolge basierend auf einer Spalte oder mehreren Spalten in der Tabelle erstellt wird Indexspalte. Eine geordnete Tabelle, die eine Eins-zu-Eins-Entsprechung mit den Datensatzzeilen in der Originaltabelle aufweist.

Index ist ein sehr wichtiges Datenbankobjekt in MySQL. Es ist die Grundlage der Datenbankleistungsoptimierungstechnologie und wird häufig zum schnellen Abrufen von Daten verwendet.

In MySQL gibt es normalerweise zwei Möglichkeiten, auf Zeilendaten einer Datenbanktabelle zuzugreifen:

1) Sequenzieller Zugriff

Sequentieller Zugriff besteht darin, einen vollständigen Tabellenscan in der Tabelle durchzuführen und sie Zeile für Zeile von Anfang bis Ende zu durchlaufen Ende, bis es keine gibt. Suchen Sie nacheinander nach den Zieldaten, die die Bedingungen in den Zeilendaten erfüllen.

Sequentieller Zugriff ist relativ einfach zu implementieren, aber wenn die Tabelle eine große Datenmenge enthält, ist die Effizienz sehr gering. Wenn Sie beispielsweise unter mehreren zehn Millionen Daten nach einer kleinen Datenmenge suchen, werden bei Verwendung des sequentiellen Zugriffs alle Daten durchsucht, was viel Zeit in Anspruch nimmt und sich offensichtlich auf die Verarbeitungsleistung der Datenbank auswirkt.

2) Indexzugriff

Der Indexzugriff ist eine Möglichkeit, durch Durchlaufen des Indexes direkt auf Datensatzzeilen in der Tabelle zuzugreifen.

Die Voraussetzung für die Verwendung dieser Methode besteht darin, einen Index für die Tabelle zu erstellen. Nachdem Sie den Index für die Spalte erstellt haben, können Sie bei der Suche nach Daten direkt die Position der entsprechenden Datensatzzeile basierend auf dem Index für die Spalte finden schnelles Auffinden der Daten. Der Index speichert Zeiger auf die Datenwerte der angegebenen Spalten und sortiert diese Zeiger gemäß der angegebenen Sortierreihenfolge.

Wenn beispielsweise in der Tabelle mit den grundlegenden Studenteninformationen tb_students ein Index basierend auf student_id erstellt wird, erstellt das System eine Zuordnungstabelle von der Indexspalte zum tatsächlichen Datensatz. Wenn der Benutzer die Daten mit student_id 12022 finden muss, findet das System zuerst den Datensatz im Index student_id, dann direkt die Datenzeile über die Zuordnungstabelle und gibt die Datenzeile zurück. Da die Geschwindigkeit beim Scannen des Index im Allgemeinen viel höher ist als die Geschwindigkeit beim Scannen der tatsächlichen Datenzeilen, kann die Verwendung des Index die Effizienz der Datenbank erheblich verbessern.

Kurz gesagt: Ohne die Verwendung eines Index muss MySQL die gesamte Tabelle lesen, beginnend mit dem ersten Datensatz, bis die relevanten Zeilen gefunden werden. Je größer die Tabelle, desto länger dauert die Abfrage der Daten. Wenn die abgefragte Spalte in der Tabelle über einen Index verfügt, kann MySQL schnell an einen Ort zum Durchsuchen der Datendatei gelangen, ohne sich alle Daten ansehen zu müssen, was viel Zeit spart.

Die Vorteile von Indizes sind wie folgt:

  • Durch die Erstellung eines eindeutigen Index kann die Eindeutigkeit jeder Datenzeile in der Datenbanktabelle garantiert werden.

  • Sie können Indizes für alle MySQL-Spaltentypen festlegen.

  • kann die Datenabfrage erheblich beschleunigen, was der Hauptgrund für die Verwendung von Indizes ist.

  • kann die Verbindung zwischen Tabellen beschleunigen, um die referenzielle Integrität von Daten zu erreichen.

  • Wenn Sie Gruppierungs- und Sortierklauseln für die Datenabfrage verwenden, kann dies auch die Zeit für das Gruppieren und Sortieren in der Abfrage erheblich verkürzen.

Hinweis: Indizes können die Abfragegeschwindigkeit erhöhen, wirken sich jedoch auf die Geschwindigkeit beim Einfügen von Datensätzen aus . Denn beim Einfügen von Datensätzen in eine indizierte Tabelle sortiert das Datenbanksystem nach dem Index, wodurch die Geschwindigkeit beim Einfügen von Datensätzen verringert wird. Die Auswirkungen auf die Geschwindigkeit werden beim Einfügen einer großen Anzahl von Datensätzen deutlicher. In diesem Fall besteht die beste Möglichkeit darin, zuerst den Index in der Tabelle zu löschen, dann die Daten einzufügen und nach Abschluss des Einfügens den Index zu erstellen.

【Verwandte Empfehlung: MySQL-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWozu dient der MySQL-Index?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
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
图文详解mysql架构原理图文详解mysql架构原理May 17, 2022 pm 05:54 PM

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于架构原理的相关内容,MySQL Server架构自顶向下大致可以分网络连接层、服务层、存储引擎层和系统文件层,下面一起来看一下,希望对大家有帮助。

mysql怎么替换换行符mysql怎么替换换行符Apr 18, 2022 pm 03:14 PM

在mysql中,可以利用char()和REPLACE()函数来替换换行符;REPLACE()函数可以用新字符串替换列中的换行符,而换行符可使用“char(13)”来表示,语法为“replace(字段名,char(13),'新字符串') ”。

mysql的msi与zip版本有什么区别mysql的msi与zip版本有什么区别May 16, 2022 pm 04:33 PM

mysql的msi与zip版本的区别:1、zip包含的安装程序是一种主动安装,而msi包含的是被installer所用的安装文件以提交请求的方式安装;2、zip是一种数据压缩和文档存储的文件格式,msi是微软格式的安装包。

mysql怎么去掉第一个字符mysql怎么去掉第一个字符May 19, 2022 am 10:21 AM

方法:1、利用right函数,语法为“update 表名 set 指定字段 = right(指定字段, length(指定字段)-1)...”;2、利用substring函数,语法为“select substring(指定字段,2)..”。

mysql怎么将varchar转换为int类型mysql怎么将varchar转换为int类型May 12, 2022 pm 04:51 PM

转换方法:1、利用cast函数,语法“select * from 表名 order by cast(字段名 as SIGNED)”;2、利用“select * from 表名 order by CONVERT(字段名,SIGNED)”语句。

MySQL复制技术之异步复制和半同步复制MySQL复制技术之异步复制和半同步复制Apr 25, 2022 pm 07:21 PM

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于MySQL复制技术的相关问题,包括了异步复制、半同步复制等等内容,下面一起来看一下,希望对大家有帮助。

带你把MySQL索引吃透了带你把MySQL索引吃透了Apr 22, 2022 am 11:48 AM

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了mysql高级篇的一些问题,包括了索引是什么、索引底层实现等等问题,下面一起来看一下,希望对大家有帮助。

mysql怎么判断是否是数字类型mysql怎么判断是否是数字类型May 16, 2022 am 10:09 AM

在mysql中,可以利用REGEXP运算符判断数据是否是数字类型,语法为“String REGEXP '[^0-9.]'”;该运算符是正则表达式的缩写,若数据字符中含有数字时,返回的结果是true,反之返回的结果是false。

See all articles

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

Heiße Werkzeuge

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

PHPStorm Mac-Version

PHPStorm Mac-Version

Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

MinGW – Minimalistisches GNU für Windows

MinGW – Minimalistisches GNU für Windows

Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Leistungsstarke integrierte PHP-Entwicklungsumgebung