J'ai une table qui stocke les ticks de stock dans sql server 2008. Elle est entrée dans la colonne de symbole et le datecolumn qui est datetime2. Dans une application C# inserts sont envoyés à un taux élevé à la table. Actuellement, une ligne est créée à l'aide du symbole DateTime.Now, puis insérée. La situation peut survenir lorsque 2 ticks pour le même symbole entrent et que datetime.now revient en même temps, jusqu'à la milliseconde. Ma question est comment puis-je m'assurer que mes inserts n'utilisent pas la même heure pour un symbole donné. Je suppose que je pourrais avoir une autre clé unique comme rowver ou somekind de autonumber dans la base de données comme une solution, mais même si l'insertion est réussie, je ne veux pas qu'il y ait des temps de duplicata pour un symbole donné. J'ai aussi pensé à stocker le dernier temps d'insertion et à y ajouter une millième de seconde s'il est égal. Je ne suis pas sûr de la meilleure façon d'y arriver. Aussi le datetime2 semble avoir plus de précisions que le datetime .net, donc je ne sais pas si je devrais essayer de le résoudre sur le serveur ou le client.Comment conserver les insertions de colonnes datetime2 uniques?
Merci
Je veux garder insérer tout, peu importe quoi et pour des raisons de performance, je ne veux pas aller avec la vérification des valeurs antérieures, donc la solution que je vais aller avec est une colonne d'identité. Cela me permettra de préserver l'ordre des insertions tout en permettant des doublons dans le datetime2.
Eh bien, je veux enregistrer le double dans le tableau, peu importe quoi, comme un vrai métier, je ne me inquiète pas si le temps est tout à fait correct , donc ajouter une milliseconde est ok, je veux juste qu'il soit proche et préserve l'ordre de la façon la plus performante possible – RBear