sql >> Databasteknik >  >> RDS >> Mysql

automatisk ökning av primärt lämnar luckor i räkningen

Detta är designat och kommer alltid att hända.

Varför?

Låt oss ta 2 överlappande transaktioner som gör INSERT

  • Transaktion 1 gör en INSERT, får värdet (låt oss säga 42), gör mer arbete
  • Transaktion 2 gör en INSERT, får värdet 43, gör mer arbete

Sedan

  • Transaktion 1 misslyckas. Rullar tillbaka. 42 förblir oanvända
  • Transaktion 2 slutförs med 43

Om konsekutiva värden garanterades, skulle varje transaktion behöva ske en efter en. Inte särskilt skalbar.

Se även Ta alltid insatta poster emot kontinuerlig identitet Värden (SQL Server men samma princip gäller)



  1. Hur man skapar vy i PostgreSQL

  2. Felsökning AlwaysOn – Ibland krävs många uppsättningar ögon

  3. Hur man laddar ner Postgres bytea kolumn som fil

  4. Hämtar XMLA för att analysera kubstruktur