Bonjour tout le monde,
je récupère aujourd'hui un projet un peu spécial. Il s'agit d'un outil de statistiques enregistrant énormément de données en base. Pour vous donner un ordre de grandeur, la table principale contient aujourd'hui 716 millions de lignes....
Un outil a été développé pour faire des recherches sur cette table. L'outil effectue une recherche sur deux critères (toujours renseignés):
- un champ date (avec un between)
- un identifiant de client (alpha-numérique pouvant contenir des caractères spéciaux). Cet identifiant est actuellement stocké dans une colonne de type varchar(20).
- un identifiant bis de client (alpha-numérique pouvant contenir des caractères spéciaux). Cet identifiant est actuellement stocké dans une colonne de type varchar(20).
Un index existe sur cette table. Voici ses caractéristiques :
- NonClustered
- Ordre des colonnes : Identifiant client, identifiant bis client, date
La table possède un nombre élevé de colonnes : 50. Toutes les colonnes doivent être remontées lors d'une recherche.
Actuellement, l'outil exécute une requête en 45 - 60 secondes environ. L'idée serait de savoir si il est possible d'optimiser cette requête, car j'ai peur qu'avec un nombre de données croissant, le temps d'exécution devienne de plus en plus long. Qu'en pensez-vous ?
Je vous remercie pour vos avis éclairés![]()
Partager