index dans sql server et access

Le
Pierre-Yves
Bonjour,



Nous souhaitons migrer une application d'access vers sqlserver. Mais nous
souhaitons que la nouvelle application soit compatible avec sqlserver et
aussi avec access



Nous venons de constater que la méthode seek n'était pas supportée par
sqlserver. La seule solution est de transformer les seek en 'select ..
Where .'.



Lorsque l'on utilise la méthode seek avec access, on spécifie les index. Par
conséquent, on les déclare dans access. Si on transforme les seek en
'select . where . ', est-il nécessaire de déclarer les index que l'on met
dans la clause where pour faire des gains en performance ?



Merci d'avance
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Michel Walsh
Le #5008671
Salut,


Non. Je veux dire en cela qu'il est bien d'avoir des index sur les
champs impliqués, mais selon les statistiques, l'engin de base de données
choisira de charger, ou non, les index. En effet, travailler avec un index
est plus rapide que sans index, mais charger l'index n'est pas "gratuit".
C'est en cela que SQL diffère du code traditionnel, où on écrit une façon de
faire. Avec SQL, on décrit ce qu'on désire et l'engin de bd décide de la
procédure d'exécution à adopter, sur le coup. C'est "le plan d'exécution"
qui peut varier selon les conditions au moment de la compilation (c'est
pourquoi il est potentiellement néfaste de précompiler les requêtes sur une
bd vide, cela fausse les stats). Certains, dont votre humble serviteur,
préconniseront de compiler avant chaque exécution... d'autres, au contraire,
prétendront qu'il est préférable d'utiliser un plan précompilé... En fait,
si on le peut, TESTER, comme disait Galilé avec ses cailloux, et soyez juges
de la meilleure procédure à suivre, dans VOTRE situation... et si c'est
négligeable, négligez!


Espérant être utile,
Vanderghast, Access MVP


"Pierre-Yves" news:%
Bonjour,



Nous souhaitons migrer une application d'access vers sqlserver. Mais nous
souhaitons que la nouvelle application soit compatible avec sqlserver et
aussi avec access



Nous venons de constater que la méthode seek n'était pas supportée par
sqlserver. La seule solution est de transformer les seek en 'select ..
Where .'.



Lorsque l'on utilise la méthode seek avec access, on spécifie les index.
Par

conséquent, on les déclare dans access. Si on transforme les seek en
'select . where . ', est-il nécessaire de déclarer les index que l'on met
dans la clause where pour faire des gains en performance ?



Merci d'avance




Publicité
Poster une réponse
Anonyme