Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Plusieurs requêtes SQL asynchrones combinent les résultats – Résultats maximum (Top XYZ)

Ce qui suit vous donnera probablement un plan qui permet d'atteindre le résultat souhaité de ne traiter aucune ligne après que la 1 000e a été trouvée.

WITH CTE
     AS (SELECT Text
         FROM   A
         WHERE  CONTAINS(Text, '"searchString"')
         UNION ALL
         SELECT Text
         FROM   B
         WHERE  CONTAINS(Text, '"searchString"')
         UNION ALL
         SELECT Text
         FROM   C
         WHERE  CONTAINS(Text, '"searchString"'))
INSERT INTO Results
SELECT TOP 1000 Text
FROM   CTE