Je suis en train de mettre en œuvre un algorithme statistique qui nécessite l'accès à un grand ensemble de données pour un test approprié. Large étant 50 000 lignes dans une seule table, MySQL.Algorithme de test sur un grand ensemble de données
Je voudrais utiliser les méthodes RSpec traditionnelles pour tester, mais créer l'ensemble d'échantillons et le charger dans la base de données conduit à deux problèmes.
- Extrêmement lent/intensif en utilisant Active Record créer. Je n'ai pas exploré les différentes options à créer pour sauter la validation, puisque les modèles sont assez basiques et je suppose qu'il ne fera pas une énorme différence de vitesse
- Mauvais nettoyage en utilisant un hacky
mysqlimport
(ce qui signifie des données laissées dans la base de données après le test, malgré un appel explicite à DatabaseCleaner dans un: après le bloc)
Créer le graphe d'objet en mémoire est une possibilité, mais n'étant pas un simulacre j'ai un peu peur d'outrepasser la fonctionnalité AR.
Des idées, des bonnes pratiques?
Merci! Justin
Est ce que le s ample ensemble en lecture seule? C'est à dire. pouvez-vous utiliser les mêmes valeurs dans le tableau pour tous les exemples? – zetetic
Même selon les standards MySQL, 50k lignes sont minuscules.Pensez à gigaoctet/pétaoctet comme de bons marqueurs pour distinguer les bases de données minuscules, petites et grandes. –