sql >> Database >  >> RDS >> Mysql

Snelste manier om te subset - data.table vs. MySQL

Als de gegevens in het RAM passen, is data.table sneller. Als u een voorbeeld geeft, zal het waarschijnlijk snel duidelijk worden dat u data.table slecht gebruikt. Heb je de "do's en don'ts" op de data.table wiki gelezen ?

SQL heeft een ondergrens omdat het een rijopslag is. Als de gegevens in RAM passen (en 64-bits is nogal wat), dan is data.table sneller, niet alleen omdat het zich in het RAM bevindt, maar ook omdat kolommen aaneengesloten zijn in het geheugen (waardoor pagina's van RAM naar L2 worden gehaald voor kolombewerkingen). Gebruik data.table correct en het zou sneller moeten zijn dan de ondergrens van SQL. Dit wordt uitgelegd in FAQ 3.1. Als u langzamer werkt met data.table, is de kans groot dat u data.table verkeerd gebruikt (of dat er een prestatiefout is die we moeten oplossen). Post dus wat tests, na het lezen van de data.table-wiki.



  1. Toegestane geheugengrootte van 8589934592 bytes uitgeput

  2. SQL SELECTEER MAX

  3. Fatale fout:[] operator niet ondersteund voor strings

  4. Hoe een java.util.Date op te slaan in een MySQL-tijdstempelveld in de UTC/GMT-tijdzone?