Mysql
 sql >> Base de données >  >> RDS >> Mysql

Le moyen le plus rapide de sous-ensemble - data.table vs MySQL

Si les données tiennent dans la RAM, data.table est plus rapide. Si vous fournissez un exemple, il deviendra probablement évident, rapidement, que vous utilisez mal data.table. Avez-vous lu les « choses à faire et à ne pas faire » sur le wiki data.table ?

SQL a une limite inférieure car il s'agit d'un magasin de lignes. Si les données tiennent dans la RAM (et 64 bits, c'est un peu), alors data.table est plus rapide non seulement parce qu'il se trouve dans la RAM, mais aussi parce que les colonnes sont contiguës en mémoire (ce qui minimise les extractions de page de la RAM vers L2 pour les opérations sur les colonnes). Utilisez data.table correctement et cela devrait être plus rapide que la limite inférieure de SQL. Ceci est expliqué dans la FAQ 3.1. Si vous voyez plus lent avec data.table, il y a de fortes chances que vous utilisiez data.table de manière incorrecte (ou qu'il y ait un bogue de performances que nous devons corriger). Alors, s'il vous plaît, postez quelques tests, après avoir lu le wiki data.table.