2012-02-06 5 views
0

Quel est le moyen le plus efficace pour effectuer des requêtes/mettre à jour une base de données contenant les prix quotidiens pour des centaines de stocksSQL: db la plus efficace pour des cotations boursières

  1. chaque stock ayant est propre table
    Chaque action a le même la structure et il n'y a pas de relation entre

  2. tous les stocks combinés dans une table et indexé sur une clé primaire

+0

Voulez-vous également garder une trace de chaque variation et conserver des données historiques pour les actions, ou vous voulez seulement garder le dernier prix? –

+0

Une raison quelconque pour avoir une table pr. Stock? –

Répondre

1

Une table par stock signifie que vous avez les tables CREATE/DROP lorsque les entreprises sont listées et radiées. Ce n'est pas un bon design. Je préférerais le deuxième design - une table, beaucoup de stocks. Cela suppose que vous gardez les mêmes informations pour chaque stock. La clé est cette phrase: "Chaque stock a la même structure et il n'y a pas de relation entre". Si tout a la même structure, il appartient à une table.

+0

Merci pour les réponses. Une table semblait pour moi aussi la meilleure solution, mais j'avais peur d'avoir un jour une table corrompue et de perdre des données depuis la dernière sauvegarde. –

2

Des centaines de stocks ne sont pas tant des données. Des centaines de stocks sont multipliés pour une détection de prix toutes les minutes, 100Ks records chaque jour et, en fonction de la profondeur historique que vous souhaitez conserver, peuvent devenir des données à gérer dans le futur. La taille d'une table ou, mieux, un tablespace, affecte les performances de la requête.

Dit, qu'une table, d'autre part, est une représentation d'entité. Un stock, comme vous le dites, est une entité et vous devriez mettre toutes les actions dans un tableau.

Les index de table sont l'une des nombreuses structures d'optimisation liées aux performances de requête; vous devez traiter séparément les performances et la structure, donc conservez une table et accélérez les requêtes avec d'autres outils.

Questions connexes