Ich habe vorher eine Tabelle mit den folgenden SQL-Code verwendet:SQL: Erstellen Tabelle mit zwei Indizes
CREATE TABLE myTable (
id_A BIGINT NOT NULL,
id_B INT NOT NULL,
some_info varchar(255),
some_info2 varchar(255),
PRIMARY KEY (id_A)
)
In der vorherigen Tabelle erstellt, die beide ID_A und id_B würden eindeutige Werte sein. Ich verstehe, dass ID_A gezwungen ist, durch die PRIMARY KEY (ID_A) Code eindeutig zu sein, die perfekt ist (die auch es indiziert), aber ID_B ist nicht
Hier ist, wo ich verwirrt bin. ID_B wird auch eindeutig sein, aber ich bin mir nicht sicher, wie erzwungen wird, dass er in der Tabelle eindeutig ist und wie die Datenbank einen Index für sie erstellt, damit zukünftige Abfragen, die SELECT für diese Tabelle verwenden, eine gute Leistung haben. Ich weiß, dass ich nicht zwei Primärschlüssel haben:
PRIMARY KEY (id_A)
PRIMARY KEY (id_B)
Wie könnte ich auch einen Index für id_B machen gehen über, so dass zukünftige Anfragen effizient geschehen?
Ich glaube, MySQL hat das UNIQUE-Schlüsselwort, das Sie nach dem Datentyp setzen können. – SCFi
Werfen Sie einen Blick auf diese: http://stackoverflow.com/questions/5038040/mysql-make-an-existing-field-unique –
Ich schlage vor, Sie lesen auf Primärschlüssel. Primärschlüssel sind eher ein Zeilen- "Bezeichner" als ein Index. –