sql >> Database >  >> RDS >> Mysql

Efficiënter om meer kolommen of meer rijen te hebben?

In principe heeft mysql een variabele rijlengte zolang men de rij niet per tabelniveau verandert. Dus lege cols zullen geen ruimte innemen (nou ja, bijna).

Maar met blobs of tekstkolommen is het misschien beter om die te normaliseren, omdat deze grote gegevens kunnen bevatten om op te slaan en deze elke keer dat een tabel wordt gescand, moet worden gelezen / overgeslagen. Zelfs als de kolom niet in de resultatenset staat en u query's uitvoert buiten een index, zal het tijd kosten voor een groot aantal rijen.

Als een goede gewoonte denk ik dat het snel zal zijn om alle administratieve en vaak gebruikte cols in één tabel te zetten en de rest te normaliseren. Een soort "verticaal" ontwerp zoals in uw tweede voorbeeld zal moeilijk te lezen zijn en zodra u met tijdelijke tabellen werkt, loopt u vroeg of laat tegen prestatieproblemen aan.



  1. Wat is de meest efficiënte manier om een ​​sorteervolgorde op een groep records in een database op te slaan?

  2. MySQL - Hoe kan ik de varchar-grootte van een bestaande kolom in een database vergroten zonder bestaande gegevens te verbreken?

  3. Docker mysql-host niet geprivilegieerd

  4. nullvalue:NULL-waarden weergeven in SQLite