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
Patrice
Le #11329041
Le principe général en SQL est que les index sont utilisés si présents. Les
créer est donc généralement suffisant.


"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




Michel Walsh
Le #11328821
Salut,


... hormis pour MS SQL Server 2000 avec des index sur valeurs bit.
Il semble qu'il faut l'inciter avec un hint pour qu'il utilise un tel index.


Espérant être utile,
Vanderghast, Access MVP



... et pour éviter que quelqu'un tombe dans le panneau classique :
"pas malin, le mèque, d'indexer un champ de bit", je rétorque, pour repérer
le seul enregistrement Ben Laden qui a le bit à 1, parmis tous les autres
zillions d'enregistrements qui on leur bit à 0, un index peut être utile.


voilà, tout ça pour prendre la défence de l'index sur bit, ... ce
mal aimé ... :-)





"Patrice" news:
Le principe général en SQL est que les index sont utilisés si présents.


Les
créer est donc généralement suffisant.


"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
>
>




lionelp
Le #11328771
valeur bit, 0 ou 1, où est l'intérêt d'utiliser un index ?

Cordialement,
LionelP

"Michel Walsh" wrote in message
news:uBT$
Salut,


... hormis pour MS SQL Server 2000 avec des index sur valeurs bit.
Il semble qu'il faut l'inciter avec un hint pour qu'il utilise un tel


index.


Espérant être utile,
Vanderghast, Access MVP



... et pour éviter que quelqu'un tombe dans le panneau classique :
"pas malin, le mèque, d'indexer un champ de bit", je rétorque, pour


repérer
le seul enregistrement Ben Laden qui a le bit à 1, parmis tous les autres
zillions d'enregistrements qui on leur bit à 0, un index peut être utile.


voilà, tout ça pour prendre la défence de l'index sur bit, ... ce
mal aimé ... :-)





"Patrice" news:
> Le principe général en SQL est que les index sont utilisés si présents.
Les
> créer est donc généralement suffisant.
>
>
> "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
> >
> >
>
>




Michel Walsh
Le #11328681
Salut,



c'était en dessous de ma signature... si il faut chercher le SEUL
enregistrement qui a son bit différent de tous les zillions autres, l'index
le trouve tout de suite... autrement, il faut une métrique appréciable de
I/O... car il faut scanner tous les enregistrements :-( Lire une seule
page d'index contre toutes les pages de la table (cas où on ignore combien
d'enregistrements ont bit=1) me semble un avantage certain.



Vanderghast, Access MVP



"lionelp" news:uLqMWQ%
valeur bit, 0 ou 1, où est l'intérêt d'utiliser un index ?

Cordialement,
LionelP

"Michel Walsh" wrote in message
news:uBT$
> Salut,
>
>
> ... hormis pour MS SQL Server 2000 avec des index sur valeurs


bit.
> Il semble qu'il faut l'inciter avec un hint pour qu'il utilise un tel
index.
>
>
> Espérant être utile,
> Vanderghast, Access MVP
>
>
>
> ... et pour éviter que quelqu'un tombe dans le panneau classique


:
> "pas malin, le mèque, d'indexer un champ de bit", je rétorque, pour
repérer
> le seul enregistrement Ben Laden qui a le bit à 1, parmis tous les


autres
> zillions d'enregistrements qui on leur bit à 0, un index peut être


utile.
>
>
> voilà, tout ça pour prendre la défence de l'index sur bit, ...


ce
> mal aimé ... :-)
>
>
>
>
>
> "Patrice" > news:
> > Le principe général en SQL est que les index sont utilisés si


présents.
> Les
> > créer est donc généralement suffisant.
> >
> >
> > "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