Pat*_*urg 2 sql sql-server coldfusion
我有一个查询从第二个数据源获取数据.这很慢.有没有更有效的方法来做到这一点?
我认为缓慢的部分是ListQualify.它产生一个包含40,000个值的列表.但是我不确定另一种方法.
<cfif GetExtractionData.recordcount gt 0 >
<cfquery name="queryVPOCar" datasource="Web_Applications">
Select [strStockNumber] as "STOCK",
field1 as "field_1",
field2 as "field_2",
field3 as "field_3",
field4 as "field_4",
field5 as "field_5",
field6 as "field_6"
From ExtractionAggregates
WHERE [strStockNumber] IN (#ListQualify(StockList,"'",",","ALL")# )
</cfquery>
<!--- Select an empty Row --->
<cfquery name="joinQuery" dbtype="query" >
SELECT *
FROM queryVPOCar
WHERE queryVPOCar.STOCK = ''
</cfquery>
<!--- Add empty row to table, so we have column names --->
<cfset QueryAddRow(joinQuery) />
<!--- if results exist, add them to the query --->
<cfif queryVPOCar.recordcount gt 1 >
<cfquery name="GetExtractionData" dbtype="query">
SELECT * FROM
GetExtractionData, queryVPOCar
WHERE GetExtractionData.STOCK = queryVPOCar.STOCK
UNION
SELECT GetExtractionData.*, joinQuery.*
FROM GetExtractionData, joinQuery
WHERE GetExtractionData.STOCK NOT IN (#ListQualify(ValueList(queryVPOCar.STOCK),"'",",","ALL")# )
ORDER BY STOCK
</cfquery>
</cfif>
</cfif>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
161 次 |
| 最近记录: |