liste TO table

liste TO table - SQL/NoSQL - Programmation

Marsh Posté le 08-07-2008 à 16:17:14    

Bonjour
  J'ai une liste des entiers à input '2,5,7,1,4,8,9', dans la requête, c'est WHERE ID in ('2,5,7,1,4,8,9'). pour augementer la vitesse, je veux les transformer dans un table pour pouvoir utiliser l'expression EXISTS, comment faire? Merci.

Reply

Marsh Posté le 08-07-2008 à 16:17:14   

Reply

Marsh Posté le 08-07-2008 à 16:35:01    

ça "augmentera" pas la vitesse, enfin si tu utilises un SGBD récent et digne de ce nom.
Sur ce coup j'aurais même tendance à dire que ça va ralentir si ta liste d'ids est "en dur".


---------------
Software and cathedrals are much the same - first we build them, then we pray.
Reply

Marsh Posté le 08-07-2008 à 22:54:52    

sinon, pour optimiser et éviter l'expression "IN" dans la requête, comment faire?  car après le test, cette partie a utilié 15 secondes.
@IDS='2,5,7,1,4,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29'
where id IN @IDS            càd: ('2,5,7,1,4,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29')

 

comment on peut l'optimiser?
Merci beaucoup


Message édité par pierre0309 le 08-07-2008 à 22:59:39
Reply

Marsh Posté le 09-07-2008 à 09:33:13    

faudrait montrer le reste de la requête si tu veux qu'on t'aide à l'optimiser :o
Y'a-t-il bien un index sur le champ ID?
 
Mais de manière générale, à moins que tu fasses 60 jointures qui remontent 4To de données, si ta requête met réellement 15 secondes c'est que tu as merdé quelque part.


---------------
Software and cathedrals are much the same - first we build them, then we pray.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed