sql >> Databasteknik >  >> RDS >> Mysql

Snabbaste sättet att subset - data.table vs. MySQL

Om data får plats i RAM är data.table snabbare. Om du ger ett exempel kommer det förmodligen snabbt att bli uppenbart att du använder data.table dåligt. Har du läst "do's and don'ts" på data.table-wikin ?

SQL har en nedre gräns eftersom det är ett radlager. Om data får plats i RAM (och 64 bitar är en hel del) så är data.table snabbare inte bara för att det finns i RAM utan för att kolumner är sammanhängande i minnet (minimerar sidhämtningar från RAM till L2 för kolumnoperationer). Använd data.table korrekt och det bör vara snabbare än SQL:s nedre gräns. Detta förklaras i FAQ 3.1. Om du ser långsammare med data.table, är chansen mycket stor att du använder data.table felaktigt (eller så finns det en prestandabugg som vi måste åtgärda). Så snälla posta några tester efter att ha läst data.table-wikin.



  1. SQL Server:Filterutgång för sp_who2

  2. CONVERT() vs TRY_CONVERT i SQL Server:Vad är skillnaden?

  3. Är mysql_real_escape_string() nödvändigt när du använder förberedda satser?

  4. Javascript-datum till sql-datumobjekt