Speicher-Engine Was ist eine Datenbank-Speicher-Engine? Die Datenbank-Engine ist die zugrunde liegende Softwarekomponente der Datenbank. Verschiedene Speicher-Engines bieten unterschiedliche Speichermechanismen, Indizierungstechniken, Sperrebenen und andere Funktionen. Durch die Verwendung verschiedener Datenbank-Engines können bestimmte Funktionen erreicht werden. Wie kann ich den Motor anzeigen? --So zeigen Sie die von der Datenbank unterstützten Engines an. Show Engines; --Aktuelle Daten-Engine anzeigen: anzeigen, erstellen, tabelle, tabelle, name\G --Zeigen Sie die Engines aller Tabellen in der aktuellen Bibliothek an: Tabelle Status anzeigen_G Geben Sie die Engine beim Erstellen einer Tabelle an Tabelle yingqin erstellen (ID int, Name varchar(20)) Engine='InnoDB'; Engine zum Ändern von Tabellen Tabelle ändern, Tabellenname Engine = "Enginename"; Ändern der Standard-Engine
Unterschiede zwischen MyISAM und InnoDB MyISAM: unterstützt Volltextindizierung (Volltext); unterstützt keine Transaktionen; Sperren auf Tabellenebene; speichert die spezifische Anzahl von Zeilen in der Tabelle; die Wiederherstellung nach einem Absturz ist schlecht. Innodb: unterstützt Transaktionen; vorherige Versionen unterstützten keine Volltextindizierung, aber Versionen nach 5.6 unterstützen diese Funktion nun; Sperren auf Zeilenebene (nicht absolut, wenn der Bereich bei der Ausführung einer SQL-Anweisung nicht bestimmt werden kann, wird die gesamte Tabelle gesperrt, zum Beispiel: update table set id=3 where name like 'a%';); speichert nicht die spezifische Anzahl von Zeilen in der Tabelle; gute Wiederherstellung nach Abstürzen. Wann sollte man wählen, welcher Motor besser ist? MyISAM:
InnoDB:
InnoDB wird empfohlen Index Was ist ein Index? Indizes sind separate, auf der Festplatte gespeicherte Datenbankstrukturen, die Referenzzeiger auf alle Datensätze in einer Tabelle enthalten. Mithilfe von Indizes können Sie schnell Zeilen finden, die bestimmte Werte in einer oder mehreren Spalten haben. Vorteile der Indizierung:
Nachteile der Indizierung:
Gängige Indextypen:
Normaler Index und eindeutiger Index Was ist ein normaler Index? Wie der Name schon sagt, ist ein gemeinsamer Index der häufigste Index unter allen Indextypen. Seine Hauptaufgabe besteht darin, die Abfragegeschwindigkeit zu verbessern. Seine Besonderheiten liegen darin, dass gleiche Indexinhalte erlaubt sind und Nullwerte zulässig sind. Was ist ein eindeutiger Index? Eindeutiger Index: Wie der Name schon sagt, kann derselbe Indexinhalt nicht erscheinen, aber es kann ein leerer (Null-)Wert sein Wie erstelle ich einen normalen Index oder einen eindeutigen Index? --Tabellentest erstellen ( id int(7) zerofill auto_increment ungleich null, Benutzername varchar(20), servnumber varchar(30), Passwort varchar(20), Erstellungszeit Datum/Uhrzeit, eindeutig (ID) )STANDARD-ZEICHENSATZ=utf8; --Fügen Sie der Tabelle direkt einen Index hinzu--Syntax: alter table table name add index index name (field name); --Hinweis: Wenn der Indexname nicht angegeben ist, wird der Standardfeldname als Indexname verwendet. alter table test add unique unique_username (Benutzername); --Erstellen Sie direkt einen Index--Syntax: Erstellen Sie einen Indexindex für den Tabellennamen (Feldnamen); Index erstellen index_createtime beim Test (createtime); Index anzeigen --Syntax: zeige Index vom Tabellennamen\G Index von test_G anzeigen So löschen Sie einen Index --Syntax: Indexnamen auf Tabellennamen ablegen; Löschen Sie den Index unique_username beim Test. --Syntax: Tabelle ändern, Tabellenname, Index löschen, Indexname; Tabelle ändern, Test löschen, Index erstellen; Primärschlüsselindex Was ist ein Primärschlüsselindex? Das Hinzufügen eines Index zum Primärschlüssel ist ein Primärschlüsselindex, ein spezieller eindeutiger Index, der keine Nullwerte zulässt, während ein eindeutiger Index (eindeutig) Nullwerte zulässt. Angegeben als „Primärschlüssel“ Primärschlüssel: Der Primärschlüssel ist eine Spalte in einer Tabelle, und der Wert dieser Spalte wird verwendet, um jede Datenzeile in der Tabelle zu markieren. Hinweis: Jede Tabelle kann nur einen Primärschlüssel haben. Erstellen Sie einen Primärschlüssel: --1) Beim Erstellen einer Tabelle erstellen --2) Einen Primärschlüsselindex direkt zur Tabelle hinzufügen --Syntax: Tabelle ändern, Tabellenname, Primärschlüssel (Feldname) hinzufügen; Tabellentest ändern, Primärschlüssel (ID) hinzufügen; So löschen Sie einen Primärschlüssel: --Syntax: Tabelle ändern, Tabellenname löschen, Primärschlüssel; Tabellentest ändern, Primärschlüssel löschen; Hinweis: Wenn eine automatische Inkrementierung vorhanden ist, müssen Sie die automatische Inkrementierung löschen, bevor Sie den Primärschlüssel löschen können. --Auto-Inkrement löschen: Tabelle ändern, Test, ID ändern, ID int(7), vorzeichenlos, mit Nullen auffüllen, nicht null; Volltextindex Was ist Volltextindizierung? Ein Volltextindex ist ein Index, der nach beliebigen Inhaltsinformationen wie Artikeln oder Sätzen sucht, die in einer Datenbank gespeichert sind. Die Einheit des Index sind Wörter. Auch die Volltextindizierung ist eine Schlüsseltechnologie, die derzeit von Suchmaschinen verwendet wird. Volltext angeben --Erstellen Sie das SQL für die Übungstabelle: Befehl „Tabelle erstellen“ ( id int(5) vorzeichenloser Primärschlüssel auto_increment, Name varchar(10), Anweisung varchar(60) )engine=MyISAM; --Daten einfügen SQL: in Befehlswerte einfügen('1', 'ls', 'Verzeichnisinhalt auflisten'); in Befehlswerte einfügen ('2', 'wc', 'Zeilenumbruch-, Wort- und Byteanzahl für jede Datei drucken'); in Befehlswerte einfügen ('3', 'ausschneiden', 'Abschnitte aus jeder Dateizeile entfernen'); in Befehlswerte einfügen('4','sortieren','Zeilen von Textdateien sortieren'); in Befehlswerte einfügen('5', 'suchen', 'nach Dateien in einer Verzeichnishierarchie suchen'); in Befehlswerte einfügen('6','cp','Dateien oder Ordner kopieren'); in Befehlswerte einfügen('7', 'oben', 'Linux-Prozesse anzeigen'); in Befehlswerte einfügen('8','mv','Dateinamen ändern, verschieben'); in Befehlswerte einfügen('9','Stoppwörter','ist, nicht, ich, ja, nein ...'); Fügen Sie einen Volltextindex hinzu: --1) Erstellen Sie beim Erstellen einer Tabelle einen Volltextindex. --2) Fügen Sie über den Befehl „alter alter table“ „add fulltext(instruction)“ hinzu. Volltextindizierung verwenden: --Syntax: select * from table name where match (field name) against ('Suchinhalt'); Wählen Sie * aus dem Befehl aus, wobei match(Anweisung) mit ('Abschnitte') übereinstimmt; Prüfen Sie den passenden Abschluss: Wählen Sie * aus dem Befehl aus, wobei match(Anweisung) mit ('Verzeichnis') übereinstimmt. Stoppwörter: Sehr häufig vorkommende Wörter machen den Volltextindex ungültig. im Booleschen Modus: im Booleschen Modus: bedeutet, den Volltextsuchmodus als Boolesche Volltextsuche anzugeben (was einfach als Suchmethode verstanden werden kann). --Syntax: select * from table name where match (field name) against (,Inhalt suchen‘ im Booleschen Modus); Wählen Sie * aus dem Befehl, wobei match(Anweisung) gegen ('direct*' im Booleschen Modus) steht; Hinweis: Beim Verwenden des Platzhalters * darf dieser nur nach dem Wort stehen, nicht davor. So löschen Sie einen Volltextindex: Befehl „Tabelle ändern“, Anweisung „Index löschen“; Zusammenfassung der zu beachtenden Punkte:
Fremdschlüsseleinschränkungen Was ist ein Fremdschlüssel? Ein Fremdschlüssel besteht aus einer oder mehreren Spalten, die als Verbindung zwischen den Daten in zwei Tabellen fungieren, um die Integrität und Genauigkeit der Daten zwischen den Tabellen sicherzustellen. Fügen Sie eine Fremdschlüsseleinschränkung hinzu: --Syntax: Fremdschlüssel (Feldname) verweist auf den zugehörigen Tabellennamen (Feldname der zugehörigen Tabelle) --Hinweis: Die Feldtypen des Primärschlüssels und des Fremdschlüssels müssen identisch sein – Methode „Tabelle erstellen“: CREATE TABLE `Mitarbeiter` ( `empno` int(11) NOT NULL COMMENT 'Mitarbeiternummer', `ename` varchar(50) DEFAULT NULL COMMENT 'Mitarbeitername', `job` varchar(30) DEFAULT NULL, `mgr` int(11) DEFAULT NULL COMMENT 'Mitarbeiter-Vorgesetztennummer', `hiredate` Datum DEFAULT NULL KOMMENTAR 'Einstellungsdatum', `sal` decimal(7,2) DEFAULT NULL COMMENT 'Gehalt', `deptnu` int(11) DEFAULT NULL COMMENT 'Abteilungsnummer', PRIMÄRSCHLÜSSEL (`empno`), Fremdschlüssel (deptnu) verweist auf dept(deptnu) )ENGINE=InnoDB STANDARD-CHARSET=utf8; --Tabellenmethode ändern: Tabelle „Mitarbeiter“ ändern, Fremdschlüssel (deptnu) hinzufügen, Referenzen zu dept(deptnu); So löschen Sie eine Fremdschlüsseleinschränkung: Hinweis: Bevor Sie einen Fremdschlüsselindex löschen können, müssen Sie zuerst die Fremdschlüsseleinschränkung löschen. mysql> Tabelle ändern, Mitarbeiter, Index löschen, Abteilung; FEHLER 1553 (HY000): Index „deptnu“ kann nicht gelöscht werden: wird in einer Fremdschlüsseleinschränkung benötigt. MySQL> mysql> Tabelle „Employee“ ändern, Fremdschlüssel „employee_ibfk_1“ löschen; Abfrage OK, 0 Zeilen betroffen (0,01 Sek.) Datensätze: 0 Duplikate: 0 Warnungen: 0 MySQL> mysql> Tabelle ändern, Mitarbeiter, Index löschen, Abteilung; Abfrage OK, 0 Zeilen betroffen (0,01 Sek.) Datensätze: 0 Duplikate: 0 Warnungen: 0 Zusammenfassung der zu beachtenden Punkte:
Gemeinsamer Index Was ist ein gemeinsamer Index? Ein gemeinsamer Index, auch kombinierter Index oder zusammengesetzter Index genannt, ist ein Index, der auf zwei oder mehr Spalten basiert. Erstellen eines gemeinsamen Indexes --Syntax: Tabelle ändern, Tabellenname, Index hinzufügen (Feld 1, Feld 2, Feld 3); alter table test add index(Benutzername, Servernummer, Passwort); Löschen eines gemeinsamen Indexes --Syntax: Tabelle ändern, Test, Index löschen, Indexname; Tabelle ändern, Test löschen, Index-Benutzernamen; Warum einen gemeinsamen Index anstelle mehrerer einspaltiger Indizes verwenden? Die Effizienz eines gemeinsamen Indexes ist wesentlich höher als die eines einspaltigen Indexes. Wenn drei einspaltige Indizes erstellt werden und die Abfragebedingungen auch diese drei Spalten enthalten, wählt MySQL nur den besten Spaltenindex aus und verwendet nicht alle drei Indizes. Ganz links stehendes Prinzip des gemeinsamen Indexes Am Beispiel des obigen Index muss die Abfragebedingung den Benutzernamen enthalten, um diesen Index verwenden zu können, andernfalls wird er nicht verwendet. Zusammenfassung der zu beachtenden Punkte:
Oben finden Sie den detaillierten Inhalt der Zusammenfassung des Wissens zu MySql-Speicher-Engines und -Indizes. Weitere Informationen zu MySql-Speicher-Engines und -Indizes finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
Offizielle Website von Prometheus (auch Prometheu...
Problembeschreibung: Wenn die Anzahl der asynchro...
Hinweise zur Installation der MySQL-Datenbank, mi...
Inhaltsverzeichnis 1. Was ist virtueller Dom? 2. ...
Im Vergleich zu fdisk wird parted weniger verwend...
Wenn der vorhandene Videoplayer die Anforderungen...
1. Verwenden Sie das Tag <nobr>, um keinen Z...
123WORDPRESS.COM stellt Ihnen den FileZilla-Downl...
1. Ändern Sie die Firewall-Einstellungen und öffn...
Vorwort Viele Webanwendungen speichern Daten in e...
Die Installation, Konfiguration und Optimierung v...
Inhaltsverzeichnis MySQL-Ergebnissortierung - Agg...
Docker fragt Bilder in einem privaten Register ab...
Inhaltsverzeichnis 1: Einführung in Galera-Cluste...
Der MGR unserer Bank wird Ende des Jahres eingefü...