sql >> Database >  >> RDS >> Mysql

Gebruik tijdstempel (of datetime) als onderdeel van de primaire sleutel (of onderdeel van een geclusterde index)

Vier miljoen rijen is niet enorm.

Een verschil van één byte tussen de gegevenstypen datetime en timestamp is de laatste waar u rekening mee moet houden bij het kiezen tussen deze twee gegevenstypen. Bekijk hun specificaties .

Een tijdstempel maken deel van uw primaire sleutel is een slecht, slecht idee. Denk na over welke primaire sleutel betekent in een SQL-database.

Zet een index op uw tijdstempelkolom. Maak een uitvoeringsplan en plak dat in je vraag. Bepaal uw mediaan queryprestaties, en plak dat ook in uw vraag.

Het duurt 2 ms om het aantal rijen van één dag terug te geven van een geïndexeerde tabel met 4 miljoen rijen op mijn desktopcomputer. (Het geeft ongeveer 8000 rijen terug.)



  1. Hoe current_timestamp() werkt in PostgreSQL

  2. mysqld_safe Directory '/var/run/mysqld' voor UNIX-socketbestand bestaat niet

  3. mysqli_fetch_array() verwacht dat parameter 1 mysqli_result is, boolean gegeven in

  4. Een rails-app 'aansluiten' op een reeds bestaande MySQL DB?