491573 operators, 49 unique segments, 183211 sets - 1462 ms.
491573 operators, 1392 unique distributors, 387183 sets - 4866 ms.
--- SOURCE FILE ---
<cfquery name="qmd_operators" datasource="fslibrary_rpc">
	select companyName, oprSegment, distrib1, distrib2 
	from tbl_OPR_ClientOperators where ownerId = 26 and fsltablecode = 'MFR'
	  and crmActive= 'Y'
</cfquery>


<!--- add segmentName --->
<cfif not listFindNoCase( qmd_operators.columnList, "segmentName" )>
	<cfset QueryAddColumn( qmd_operators, "segmentName", "varchar", ArrayNew(1))>
</cfif>

<cfset _startTime = getTickCount()>
<cfset _sets = 0>
<cfloop query="qmd_operators">

	<cfif val( oprSegment )> 
	
		<cfparam name="request._segmentNameCache" default="#StructNew()#">

		<!--- the number of possible values is relatively small, so cache the entire list upfront --->
		<cfif StructIsEmpty( request._segmentNameCache )>
		
			<cfquery name="qmd_segments" datasource="fslibrary_rpc">
				select clientSegId, description
				  from tbl_OPR_ClientSegments
				 where ownerId = 26
				   and fsl_tablecode = 'MFR'
			</cfquery>
			
			<cfloop query="qmd_segments">
				<cfset request._segmentNameCache[clientSegId] = description>
			</cfloop>
		
		</cfif>
		
		<cfif StructKeyExists( request._segmentNameCache, OPRSegment )>
			<cfset _segmentName = request._segmentNameCache[OPRSegment]>
			<cfset QuerySetCell( qmd_operators, "segmentName", _segmentName, qmd_operators.currentRow)>
			<cfset _sets = _sets + 1>
		</cfif>
		
	
	</cfif>

</cfloop>
<div><cfoutput>#qmd_operators.recordCount# operators, #listLen( structKeyList( request._segmentNameCache ))# unique segments, #_sets# sets -  #getTickCount() - _startTime# ms.</cfoutput></div>



<!--- add distributorName --->
<cfloop list="distributorName1,distributorName2" index="_c">
	<cfif not listFindNoCase( qmd_operators.columnList, _c )>
		<cfset QueryAddColumn( qmd_operators, _c, "varchar", ArrayNew(1) )>
	</cfif>
</cfloop>

<cfset _startTime = getTickCount()>
<cfset _sets = 0>
<cfloop query="qmd_operators">

	<cfset _r = currentRow>
	
	<cfloop from="1" to="2" index="_cIdx">
		
		<cfset _cdr_recordId = val( qmd_operators["distrib#_cIdx#"][_r] )>
		<cfif _cdr_recordId gt 0>
			
			<cfparam name="request._distributorNameCache" default="#StructNew()#">

			<!--- there are many distributors, cache them as needed --->
			<cfif not StructKeyExists( request._distributorNameCache, _cdr_recordId )>
				<cfquery name="qmd_lookupDistributor" datasource="fslibrary_rpc">
					select cdr_dstName
					  from tbl_CDR_Distributors
					 where cdr_recordId = <cfqueryparam value="#_cdr_recordId#">
					   and ownerId = 26
					   and fsl_tablecode = 'MFR'
				</cfquery>
				<cfset request._distributorNameCache[_cdr_recordId] = qmd_lookupDistributor.cdr_dstName>
			</cfif>
			<cfset _distributorName = request._distributorNameCache[_cdr_recordId]>
			<cfset QuerySetCell( qmd_operators, "distributorName#_cIdx#", _distributorName, _r)>
			<cfset _sets = _sets + 1>

		</cfif>
		
	</cfloop>

</cfloop>
<div><cfoutput>#qmd_operators.recordCount# operators, #listLen( structKeyList( request._distributorNameCache ))# unique distributors, #_sets# sets -  #getTickCount() - _startTime# ms.</cfoutput></div>

<div>--- SOURCE FILE ---</div>

<cffile action="read" file="#getCurrentTemplatePath()#" variable="_templateContent">
<cfoutput><pre>#htmleditformat( _templateContent )#</pre></cfoutput>