sql >> Database >  >> RDS >> Mysql

Verschil tussen sleutel, primaire sleutel, unieke sleutel en index in MySQL

KEY en INDEX zijn synoniemen in MySQL. Ze bedoelen hetzelfde. In databases zou u indexen gebruiken om de snelheid van het ophalen van gegevens te verbeteren. Een index wordt meestal gemaakt op kolommen die worden gebruikt in JOIN , WHERE , en ORDER BY clausules.

Stel je voor dat je een tabel hebt met de naam users en u wilt zoeken naar alle gebruikers met de achternaam 'Smith'. Zonder index zou de database alle records van de tabel moeten doorlopen:dit is traag, want hoe meer records u in uw database heeft, hoe meer werk het moet doen om het resultaat te vinden. Aan de andere kant helpt een index de database snel naar de relevante pagina's waar de 'Smith'-records worden bewaard. Dit lijkt erg op hoe wij, mensen, door een telefoonboek gaan om iemand op achternaam te vinden:we beginnen niet van kaft tot kaft te zoeken in de directory, zolang we de informatie in een bepaalde volgorde invoegen die we kunnen gebruik om snel naar de 'S'-pagina's te gaan.

Primaire sleutels en unieke sleutels zijn vergelijkbaar. Een primaire sleutel is een kolom, of een combinatie van kolommen, die een rij uniek kan identificeren. Het is een speciaal geval van unieke sleutel . Een tabel kan maximaal één primaire sleutel hebben, maar meer dan één unieke sleutel. Wanneer u een unieke sleutel voor een kolom opgeeft, kunnen geen twee afzonderlijke rijen in een tabel dezelfde waarde hebben.

Houd er ook rekening mee dat kolommen die zijn gedefinieerd als primaire sleutels of unieke sleutels automatisch worden geïndexeerd in MySQL.



  1. ORA - 00933 verwarring met inner join en as

  2. Een datum converteren in MySQL vanuit een stringveld

  3. 10 tijdbesparende tips voor MS Access-gebruikers

  4. Orbeon Forms Postgres DB-verbinding