Correct me if I'm wrong (please) but isn't a query already a Struct of Arrays?

I mean the following is totally valid:

Table user_list (user_fname, user_lname) {shown in comma delimited format}
Cameron, Childress
Michael, Dinowitz
Steve, Durette

<cfquery name="myUserList" (blah blah) >
Select user_id, user_name
>From user_list;
</cfquery>

<cfoutput>
#Variables.myUserList["user_fname"][2] #
</cfoutput>

Would output: Michael

So after the query is loaded, you can just use the data. No copying no extra 
query, just direct access.

Steve

-----Original Message-----
From: Cameron Childress [mailto:camer...@gmail.com] 
Sent: Wednesday, July 14, 2010 10:27 AM
To: cf-talk
Subject: Re: struct lookup vs. query of queries


On Tue, Jul 13, 2010 at 12:19 PM, Michael Dinowitz
<mdino...@houseoffusion.com> wrote:
> I've got a loop which will need to look up a piece of data on each
> iteration. The data is standardized so there is really just one call
> to the database (outside the loop). I can either do a query of queries
> on each iteration or I can turn the query into a structure and do a
> structure lookup (structkeyexists, etc) on each iteration. I'm
> assuming that the struct lookup will be faster/more efficient even
> after having to turn the query into a structure.
> Anyone have an opinion on this?

I virtually always choose to use a struct in these cases.  There are
very few cases where I have seen an argument to use QoQ for virtually
anything.  QoQ is typically much slower than structs, assuming you are
using alot of values from the query.  Sometimes it can even be faster
to go back to the DB each time rather than QoQ.  Seriously.

Depending on the use case, I like to convert the Query to a struct and
then cache that struct either in a shared scope, or using CF9's
EHCache caching mechanisms.  You can wrap that whole thing up in a
nice little CFC and it become really quite reusable.

-Cameron

-- 
Cameron Childress
Sumo Consulting Inc
http://www.sumoc.com
---
cell:  678.637.5072
aim:   cameroncf
email: camer...@gmail.



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Order the Adobe Coldfusion Anthology now!
http://www.amazon.com/Adobe-Coldfusion-Anthology-Michael-Dinowitz/dp/1430272155/?tag=houseoffusion
Archive: 
http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:335366
Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm

Reply via email to