2010-05-04 7 views
0

Je crée une application où l'utilisateur peut enregistrer des optionsDilemme SQL Server, performance

Quel est le meilleur?

  1. pour enregistrer dans la table utilisateur varchar feeld smthing comme ('1,23,4354,34,3') requête en est select * à partir de données où CHARINDEX ('L', fournisseurs, 0)> 0

  2. créer autre table où les options utilisateur sont et simplement ajouter des lignes select * à partir de données où les fournisseurs dans (sélectionner les fournisseurs de userdata où userid = 100)

grâce à l'aide

Répondre

2

Si possible, essayez d'éviter de placer des éléments dans des chaînes délimitées par des virgules, puis forcez SQL Server à réexécuter toutes ces entrées. Donc, dans votre cas, j'irais certainement avec l'option deux - utilisez une table séparée, et laissez les options de votre utilisateur être conservées dans cette table en tant que lignes individuelles. C'est la solution beaucoup plus propre et beaucoup plus semblable à SQL Server, et si vous la gérez correctement, elle fonctionnera beaucoup mieux (puisque récupérer des données à partir des tables du travail principal et de la compétence de SQL Server - n'est pas utile).