|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 7 ![]() |
Bonjour,
est-ce que quelqu'un pourrait me renseigner sur la manière dont SQL Server indexe les datetime? Par exemple, si je fais un select sur le mois de février de l'année 2011, est-ce que tous les datetime de ma table vont être parcourus ou seulement ceux de l'année 2011? Merci d'avance. |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 959 ![]() |
seulement ceux de février 2011.
A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 7 ![]() |
Merci.
Est-ce que tu aurais un lien vers une source officielle à ce sujet, je n'ai pas réussi à trouver? |
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 669 ![]() |
Bonjour,
Que cherchez-vous exactement ? Je ne vois pas non plus de lien qui montre directement le gain sur l'indexation, mais après quelques années de SQL Server, je peux vous dire (et je ne suis pas le seul !) que l'indexation, c'est l'optimisation la plus simple à mettre en place, et qu'elle procure un gain énorme. Vous pouvez facilement vous en rendre compte de plusieurs façons, en exécutant une fois la même requête, l'une sans et l'autre après avoir ajouté l'index : - Comparez les plans de requêtes et le nombre réel de lignes manipulées à l'aide du plan réel d'exécution (CTRL + M avant l'exécution de la requête sous SQL Server Management Studio) - Comparez tout simplement le temps d'exécution - Comparez le nombre de pages lues à l'aide de l'option de session SET STATISTICS IO ON (à positionner avant la requête) - Comparez le temps CPU consommé par la requête à l'aide de l'option de session SET STATISTICS TIME ON ( (à positionner avant la requête) @++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
|
20
|
|
|
#5 |
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 7 ![]() |
Merci pour votre réponse.
Je dispose en fait d'une table avec une grande volumétrie de données, et une majorité des select effectués dessus le sont par rapport à une colonne de type datetime. Je cherche à savoir s'il serait interessant en terme de performances d'éclater cette colonne en colonnes indexées (année, mois, jour) sur lesquelles faire les requêtes. |
|
|
00
|
|
|
#6 | |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 959 ![]() |
Citation:
Un seul index directement sur la colonne sera très perfromant. Le moyen le plus simple de le prouver est de prendre toutes vos requêtes, les mettre dans une fenêtre SQL de SSMS, et commencez à prendre les statistiques d'IO sans l'index à l'aide de : SET STATISTICS IO ON Puis de faire de même après avoir créé l'index (si possible dans une autre fenêtre pour soutenir le comparaison). A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
|
20
|
|
|
#7 |
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 7 ![]() |
Je testerai ça, merci encore.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com