sql >> Database teknologi >  >> RDS >> Mysql

MySQL INSERT og SELECT Rækkefølge

Afhænger af om dine users tabellen er MyISAM eller InnoDB.

Hvis det er MyISAM, tager det ene eller det andet udsagn en lås på bordet, og der er lidt du kan gøre for at kontrollere det, undtagen låsetabeller dig selv.

Hvis det er InnoDB, er det transaktionsbaseret. Multiversionsarkitekturen tillader samtidig adgang til tabellen og SELECT vil se antallet af rækker på det tidspunkt, hvor transaktionen startede. Hvis der er en INSERT foregår samtidigt, SELECT vil se 0 rækker. Faktisk kunne du endda se 0 rækker ved en SELECT udføres nogle sekunder senere, hvis transaktionen for INSERT har ikke forpligtet sig endnu.

Der er ingen måde for de to transaktioner at starte rigtigt samtidigt. Transaktioner er garanteret at have en vis orden.



  1. Sådan beregnes flere glidende gennemsnit i MySQL

  2. Oracles standard DATO-format

  3. SQL-fejl med Bestil efter i underforespørgsel

  4. Table Print passer ikke til sidestørrelsen