Indexnamen (in MySQL) fast nutzlos sind. Über die einzige Verwendung ist für DROP INDEX
, was selten getan wird. Daher empfehle ich, wenig Zeit mit der Benennung von Indizes zu verbringen. Die Namen müssen nur innerhalb der Tabelle eindeutig sein.
Die PRIMARY KEY
(die keinen anderen Namen hat) ist mit den Daten "geclustert". Das heißt, die PK und die Daten befinden sich im selben BTree.
Jeder Sekundärschlüssel ist ein separater BTree. Der BTree wird nach den angegebenen Spalten sortiert. Die "Datensätze" des Blattknotens enthalten die Spalten des PK, wodurch eine Möglichkeit bereitgestellt wird, zum eigentlichen Datensatz zu gelangen.
FULLTEXT
und SPATIAL
Indizes arbeiten anders.
PARTITIONing
... Zunächst ist die Partitionierung selten nützlich. Aber wenn Sie partitionierte Tabellen haben, dann sind hier einige Details über Indizes. Eine partitionierte Tabelle ist im Wesentlichen eine Sammlung von Untertabellen, die alle identisch sind (einschließlich Indexnamen). Es gibt keinen "globalen Index" über die Tabelle hinweg; jeder Index für eine Untertabelle bezieht sich auf die Untertabelle nur.
Schlüssel gehören zu einer Tabelle, keine Datenbank.
Möglicherweise ein Duplikat von https://dba.stackexchange.com/questions/62900/where-is-the-index-physically-located-in-mysql-database –
Ich bin nicht in den physischen Speicher @P interessiert .Salmon aber mehr darüber, wo ich von ihnen gespeichert werden sollte. auf der Ebene, auf der Tabellen gespeichert sind, oder auf der Ebene von Spalten. – Tschallacka