2011-06-08 4 views
0

Je travaille sur un projet dans lequel j'ai généré un identifiant unique d'un client avec la première lettre du nom du client. Et stocké dans une base de données dans différentes tables comme si le nom du client commençant par un alors l'ensemble des informations du client sera stocké dans la table Registration_A. En tant que tel, j'ai créé des tables d'enregistrement jusqu'à Z. Mais récupérer si les données avec une telle structure est calme difficile. Pouvez-vous me suggérer une autre méthode pour sauvegarder les données afin que la récupération devienne plus flexible?Comment simplifier ma base de données?

Répondre

2

Mettez toutes vos données d'enregistrement dans un seul tableau. Vous n'avez absolument pas besoin de le découper en morceaux alphabétiques, sauf si vous avez de sérieux problèmes de performance.

Lors de la requête de données d'enregistrement, utilisez la clause WHERE de SQL pour affiner vos résultats.

+0

Même lorsque vous avez de sérieux problèmes de performance, c'est rarement la bonne réponse (seulement dans des circonstances très inhabituelles). Ajoutez les index appropriés. – symcbean

+0

Et même alors le partitionnement de la table unique pourrait être une meilleure approche que les tables multi-tableaux. – Wudang

+0

Merci. Le problème est résolu. Mais un autre problème est que je veux faire une recherche dans la base de données pour que j'ai écrit le code comme suit: – Samiksh

0

Vous avez pour fusionner ceci à une table'Enregistrement ', alors laissez la base de données se préoccuper des identifiants uniques. Cela dépend de votre base de données, mais la recherche de PRIMARY KEY ou AUTO INCREMENT devrait vous donner beaucoup de résultats.

Si vous avez effectué le fractionnement pour des raisons de performances, vous pouvez ajouter un Index au nom de famille de l'utilisateur.

Questions connexes