2011-08-02 10 views
0

Je travaille sur un système de facturation en utilisant C#, et MySql EntityFramework. Le problème est que, en raison des transactions importantes, la table des factures d'achat/ventes va croître rapidement. Cependant, je ne peux pas avoir cette incidence sur les performances. Donc, je pensais que je peux peut-être archiver les reacords ou créer une nouvelle table après chaque « n » (factures purchaesinvoices1..n) ou une nouvelle table pour chaque année. J'ai d'abord pensé que c'était une bonne approche, mais maintenant je pense que je pourrais rencontrer des problèmes parce que j'utilise l'entité frameowrk. Comment puis-je la carte d'une entité (PurchaseInvoice) aux différentes tables, être en mesure de sélectionner, mettre à jour et etc.EntityFramework et MySql, archivage

Est-il possible autour de mon problème, est-ce même une bonne solution? Je suis ouvert à toutes les suggestions que les gens pourraient avoir. Merci d'avance.

Répondre

2

Je préférerais simplement vous assurer que vous déposerez a une bonne indexation appliquée. MySql devrait être capable de gérer quelques millions d'enregistrements par seconde. Vous pouvez également utiliser la fonctionnalité de mise en cache pour fournir une amélioration de la performance. Si je ne me trompe pas, Facebook a utilisé MySQL et, soyons honnêtes, cela doit fonctionner à travers un bon million/100 millions de trillions de transactions par jour.

+0

Umm, je suppose que vous avez raison. Je suis juste un peu paranoïaque. Que voulez-vous dire par «indexation appropriée»? J'ai un index primaire qui s'incrémente automatiquement appelé ID. –

+0

Cochez cette case qui explique ce que vous devez indexer. http://stackoverflow.com/questions/6165286/what-should-be-indexed-to-improve-performance – Jethro