Bonjour,
Suite à une recherche sur google je n'ais toujours pas trouvé une solution concrète à mon problème.
Ce que je souhaite faire c'est lancer des requêtes sql avec une clause in qui peut contenir un trés grand nombre de résultats, Et c'est à priori un type de requête qui sera souvent exécutée.
Exemple de requête
(il peut y en avoir 50000))
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT idref FROM Matable WHERE id IN (212, 787, 898 ,89898, 8989 , 444, ...
et la table Matable contient environ 3 millions de lignes.
Et donc comme on peut l'attendre l'execution de la requête précédente peut être un petit plus longue (~20 secondes) pour une application qui doit être réactive c'est pas terrible.
la question que je me poses c'est qu'elle serait la meilleur méthode pour répondre à ce genre de pb:
- les tables temporaires ? pas top j'ai des erreurs de mémoire insuffisantes
- une application externe qui charge la table et qui effectue le traitement à la place ? (ca prendra bp de place mémoire pour qu'un seul type de requête)
Alors si vous avez d'autres pistes je suis vraiment preneur.
Merci d'avance
Note : Utilisation de SQL Server 2005
Partager