Je stocke les dates d'événements du calendrier, y compris les événements récurrents. La table pourrait devenir énorme. La plupart de mes requêtes concernent des plages d'un mois (c'est-à-dire où eventstart> = '01/01/2001' et eventstop < = '31/01/2001'), donc je me fous du temps dans mes requêtes.Le type de date est-il plus performant que datetime pour les requêtes sur des jeux de données volumineux?
Est-ce que j'aurais de meilleures performances dans les requêtes de plage si j'interrogeais une colonne de date par rapport à une colonne datetime?
Je ne sais pas, mais je dirais que oui, car il est à seulement 3 octets par rapport à 8 octets de 'DateTime'. Juste pour le compte rendu, vous avez également 'smalldatetime', qui est de 4 octets, et cela peut être une comparaison plus juste. – Andrew
En outre, vos requêtes deviendraient plus prouvablement correctes. Dans votre exemple, 'where eventstart> = '1/1/2001' et eventstop <= '1/31/2001'' avec un type' datetime' vous pourriez manquer un événement le 31 janvier à 10h, disons, parce que votre range S'il ne s'agit que d'une colonne "date", votre requête sélectionnera toujours un événement en janvier. Donc, si vous n'avez pas besoin de stocker l'heure, le type 'date' présente d'autres avantages en plus de la vitesse et des besoins de stockage réduits. –
@Andrew, smalldatetime n'est pas la norme ANSI et il est recommandé de ne pas l'utiliser. https://msdn.microsoft.com/en-us/library/ms182418.aspx – FLICKER