MySQL-Ansicht kann keinen Index erstellen. Eine Ansicht ist eine virtuelle Tabelle, die nicht tatsächlich in der Datenbank vorhanden ist. Sie enthält keine tatsächlichen Zeilen und Spalten (die Zeilen- und Spaltendaten stammen aus der Tabelle, die in der Abfrage verwendet wird, die die Ansicht definiert). Die Struktur besteht aus einer oder mehreren Spalten in der Datentabelle, daher kann in der Ansicht kein Index erstellt werden, es gibt keinen Primärschlüssel und es können keine Trigger verwendet werden.
Die Betriebsumgebung dieses Tutorials: Windows7-System, MySQL8-Version, Dell G3-Computer.
MySQL-Ansicht kann keinen Index erstellen.
MySQL-Ansicht (Ansicht) ist eine virtuelle Tabelle, die nicht tatsächlich in der Datenbank vorhanden ist. Sie enthält keine tatsächlichen Zeilen und Spalten. Die Daten der Zeilen und Spalten stammen aus der Abfrage, die zum Definieren der Ansichtstabelle verwendet wird Wird bei Verwendung von Ansichten dynamisch generiert.
Die Datenbank speichert nur die Definition der Ansicht und nicht die Daten in der Ansicht. Diese Daten werden in der realen Tabelle gespeichert, auf die von der Abfrage verwiesen wird, die die Ansicht definiert. Wenn Sie eine Ansicht zum Abfragen von Daten verwenden, ruft die Datenbank die entsprechenden Daten aus der realen Tabelle ab. Daher hängen die Daten in der Ansicht von den Daten in der realen Tabelle ab. Sobald sich die Daten in der realen Tabelle ändern, ändern sich auch die in der Ansicht angezeigten Daten.Der Index ist eine spezielle Datenbankstruktur, die aus einer oder mehreren Spalten in der Datentabelle besteht und zur schnellen Abfrage von Datensätzen mit einem bestimmten Wert in der Datentabelle verwendet werden kann. In diesem Abschnitt werden Bedeutung, Funktion, Vor- und Nachteile von Indizes ausführlich erläutert.
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.Also: Der Index besteht aus einer oder mehreren Spalten in der Datentabelle, während die Ansicht eine virtuelle Tabelle ohne tatsächliche Zeilen und Spalten ist. Außerdem kann die MySQL-Ansicht keinen Index erstellen.
Erweiterte Kenntnisse: MySQL-Ansicht
MySQL-Ansicht ist im Wesentlichen eine Anweisung. Wenn Sie die Ansicht aufrufen, sucht das Datenbankverwaltungssystem zunächst nach der in der Ansicht gekapselten Anweisung und führt zunächst die Anweisung aus, die die Ansicht generiert , und dann in der Ansicht Abfrage basierend aufVorteile von Ansichten
Obwohl Ansichten und Tabellen unterschiedlicher Natur sind, ist die Struktur nach der Definition der Ansicht dieselbe wie die der Tabelle, und Vorgänge wie Abfrage, Änderung, Aktualisierung und Löschung können durchgeführt werden. Gleichzeitig haben Ansichten folgende Vorteile: 1) Passen Sie Benutzerdaten an und konzentrieren Sie sich auf bestimmte Daten. In tatsächlichen Bewerbungsprozessen können verschiedene Benutzer unterschiedliche Anforderungen an unterschiedliche Daten haben. Wenn beispielsweise Datenbanken gleichzeitig vorhanden sind, z. B. eine Tabelle mit Basisinformationen für Schüler, eine Tabelle mit Lehrplänen und Lehrerinformationen, und andere Tabellen gleichzeitig vorhanden sind, können verschiedene Benutzer ihre eigenen Daten entsprechend ihren Anforderungen verwenden. Eine Ansicht für Studenten zum Anzeigen und Ändern ihrer grundlegenden Informationen, eine Ansicht für Kurspersonal zum Anzeigen und Ändern von Kursplänen und Lehrerinformationen und eine Ansicht für Lehrer zum Anzeigen von Studenteninformationen und Kursinformationstabellen. 2) Vereinfachen Sie DatenoperationenBei der Verwendung von Abfragen müssen Sie häufig Aggregatfunktionen verwenden und gleichzeitig Informationen aus anderen Feldern anzeigen. Möglicherweise müssen Sie auch einen Bezug zu anderen Tabellen herstellen. Die Anweisung kann sehr lang sein. Wenn diese Aktion häufig auftritt, können Ansichten erstellt werden, um die Vorgänge zu vereinfachen. 3) Verbessern Sie die DatensicherheitAnsichten sind virtuell und existieren nicht physisch. Sie können Benutzern nur Anzeigeberechtigungen erteilen, ohne ausdrücklich Berechtigungen zur Verwendung von Tabellen anzugeben, um die Sicherheit grundlegender Daten zu schützen. 4) Erforderliche Daten teilenDurch die Verwendung von Ansichten muss nicht jeder Benutzer die von ihm benötigten Daten definieren und speichern. Er kann Daten in der Datenbank teilen und dieselben Daten müssen nur einmal gespeichert werden. 5) Datenformat ändernDurch die Verwendung von Ansichten können Sie die abgerufenen Daten neu formatieren und die Ausgabe an andere Anwendungen organisieren. 6) SQL-Anweisungen wiederverwendenAnsichten bieten eine Kapselung von Abfragevorgängen und enthalten selbst keine Daten. Die angezeigten Daten werden entsprechend der Ansichtsdefinition aus der Basistabelle abgerufen. Die Ansicht präsentiert auch die aktualisierten Daten. Sobald eine Ansicht definiert ist, kann die Ansicht nach dem Schreiben der erforderlichen Abfragen problemlos wiederverwendet werden. Achten Sie auf den Unterschied zwischen einer Ansicht und einer Datentabelle in der Natur, d. h. eine Ansicht ist eine virtuelle Tabelle, die auf einer realen Tabelle basiert, und ihre Datenquellen basieren auf der realen Tabelle. Bei der Verwendung von Ansichten sollten Sie außerdem auf folgende Punkte achten:Ansichten enthalten keine Daten, daher müssen Sie jedes Mal, wenn Sie die Ansicht verwenden, alle in der Abfrage erforderlichen Abrufvorgänge ausführen. Wenn Sie komplexe Ansichten oder verschachtelte Ansichten mit mehreren Verbindungen und Filterbedingungen erstellen, kann es sein, dass die Leistung Ihres Systems erheblich beeinträchtigt wird. Daher sollten Systemtests durchgeführt werden, wenn eine große Anzahl von Ansichtsanwendungen bereitgestellt wird.
【Verwandte Empfehlungen: MySQL-Video-Tutorial】
Das obige ist der detaillierte Inhalt vonKann MySQL View einen Index erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!