sql >> Database >  >> RDS >> Mysql

Moeten primaire sleutels altijd worden toegevoegd aan een innodb-tabel?

Het toevoegen van een derde ID-kolom alleen om het toevoegen van een ID-kolom heeft geen zin. In feite voegt het gewoon verwerkingsoverhead (indexonderhoud) toe wanneer u rijen invoegt of verwijdert.

Een primaire sleutel is niet noodzakelijkerwijs "een ID-kolom".

Als u slechts één enkele koppeling tussen gebruiker en item toestaat (een gebruiker kan niet twee keer hetzelfde item worden toegewezen), dan is het zinvol om (userid, itemid) te definiëren als de primaire sleutel van uw tabel.

Als je hetzelfde paar meer dan één keer laat verschijnen, dan heb je die beperking natuurlijk niet nodig.



  1. Heeft de volgorde van velden in een WHERE-clausule invloed op de prestaties in MySQL?

  2. ophalen van meerdere kolommen groeperen op datum intervall

  3. De ANSI_NULLS-instelling van een database vinden in SQL Server (T-SQL)

  4. ProgrammingError:SQLite-objecten die in een thread zijn gemaakt, kunnen alleen in diezelfde thread worden gebruikt