You can build 4d arrays in CF...Why you would is beyond
me...None-the-less, you have to build it as an array within an array.

my4dArray = ArrayNew(1);
my4dArray[1] = ArrayNew(1);
my4dArray[1][1] = ArrayNew(1);
my4dArray[1][1][1] = ArrayNew(1);
my4dArray[1][1][1][1] = 'Some Value';
my4dArray[1][1][1][2] = 'Some Value';


You get the picture...Hopefully....:-)
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
Behalf Of [EMAIL PROTECTED]
Sent: Thursday, August 28, 2003 12:02 PM
To: [EMAIL PROTECTED]
Subject: RE: structures vs arrays


I was under the impression CF could handle 4-d arrays... but I
digress... I would probably still go with a structure of structures just
the same way you otherwise would have an array of arrays (with a 4-d
array)... I _suspect_ that'd be faster than a single structure, but
rather than assuming that's gonna be the case, I would definitely
recommend testing it out... 

output the current time 

loop over each dimension of the primary key and insert 100 records into
each dimension, entering a date for each final element. This will give
you 100,000,000 records (hopefully more than the live system will ever
deal with). 

output datediff('s',starttime,now())

do it first using a single structure and then again using a structure of
structures. 

hth 

Isaac 

------ Original Message ------ 
From: Schreck, Tom <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Aug 28, 2003 10:20 AM
Subject: RE: structures vs arrays

>What I'm faced with is coming up with an application scoped array or 
>structure that houses the primary key values of a table and when that 
>record was cached.  The powers that be decided this would be a good 
>approach.  The table houses the cached html for our content management 
>system.  The table's primary key is composed of 4 fields.  When the 
>query is called to retrieve the cached html, the 'cached after' query 
>attribute would look up the cached date from the application scoped 
>array or structure.  I would pass the primary key values to a UDF or 
>CFC that would then inspect the application scoped array or structure 
>to ascertain the last cached date.  That is the idea anyway.
>
>Am I loosing anyone yet?
>
>I know CF can handle only a 3 dimension array, so I'm not sure how that

>would work with my table containing 4 dimensions.
>
>Do you see a performance penalty with arrays because CF uses 'undefined

>array elements' to fill in blank spots.  For instance if my array is 
>myArray[132] = '5/15/2003' (where 132 represents the value of one of my

>primary keys) then the length of my array is 132 even though I'm 
>storing 1 value, the array is carrying 131 empty spaces.  Does this 
>make sense?
>
>My idea is to concatenate the primary key values into a string and use 
>that as the key in a structure.  Does this seem a better solution?
>
>Keep in mind my cached html table has 10s of thousands of cached 
>records that would have its primary key stored in this application 
>scoped array or structure.  Would a structure containing the 
>concatenated primary key as the structure's key be an efficient 
>approach?
>
>
>
>Thanks -
>
>Tom Schreck
>817-252-4900
>[EMAIL PROTECTED]
>
>I have not failed.  I've found 10,000 ways that won't work.
>
>- Thomas Edison
>
>
>-----Original Message-----
>From: Dan Blackman [mailto:[EMAIL PROTECTED]
>Sent: Thursday, August 28, 2003 9:56 AM
>To: [EMAIL PROTECTED]
>Subject: RE: structures vs arrays
>
>It's also negligible unless you are working with hundereds of thousands

>of rows in MHO.  You are not going to see the difference until you are 
>hitting a sizable recordset...
>
>My 2 c
>
>-----Original Message-----
>From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On 
>Behalf Of S.Isaac Dealey
>Sent: Thursday, August 28, 2003 9:41 AM
>To: [EMAIL PROTECTED]
>Subject: Re: structures vs arrays
>
>
>> Which one is more efficient at retrieving data: structure
>> or an array?
>
>Depends what you're doing with it...
>
>A structure is faster at finding a key than it is to find a given 
>string within an array... i.e.
>
>idx = structkeyexists(mystruct,"blah")
>
>vs. something like this:
>
>idx = listfind(arraytolist(myarray),"blah")
>
>or worse
>
>idx = 0;
>for (x = 1; x lte arraylen(myarray); x = x + 1) {
>  if (myarray[x] is "blah") { idx = x; break; }
>}
>
>I believe arrays are slightly faster when looping over them, i.e.
>
><cfloop index="x" from="1"
>to="#arraylen(myarray)#"></cfloop>
>
>vs.
>
><cfloop item="x" collection="#mystruct#"></cfloop>
>
>and I'm pretty sure getting a single value from an array
>
>myarray[3]
>
>is faster than getting a single value from a structure
>
>mystruct["blue"]
>
>I hope that's helpful. :)
>
>s. isaac dealey                972-490-6624
>
>team macromedia volunteer
>http://www.macromedia.com/go/team
>
>chief architect, tapestry cms  http://products.turnkey.to
>
>onTap is open source           http://www.turnkey.to/ontap
>
>
>-----------------------------------------------
>To post, send email to [EMAIL PROTECTED]
>To unsubscribe: 
>   Send UNSUBSCRIBE to [EMAIL PROTECTED]
>To subscribe / unsubscribe: http://www.dfwcfug.org
>
>-----------------------------------------------
>To post, send email to [EMAIL PROTECTED]
>To unsubscribe: 
>   Send UNSUBSCRIBE to [EMAIL PROTECTED]
>To subscribe / unsubscribe: http://www.dfwcfug.org
>
>-----------------------------------------------
>To post, send email to [EMAIL PROTECTED]
>To unsubscribe:
>   Send UNSUBSCRIBE to [EMAIL PROTECTED]
>To subscribe / unsubscribe: http://www.dfwcfug.org
                
                
                

-----------------------------------------------
To post, send email to [EMAIL PROTECTED]
To unsubscribe: 
   Send UNSUBSCRIBE to [EMAIL PROTECTED]
To subscribe / unsubscribe: http://www.dfwcfug.org

-----------------------------------------------
To post, send email to [EMAIL PROTECTED]
To unsubscribe: 
   Send UNSUBSCRIBE to [EMAIL PROTECTED]
To subscribe / unsubscribe: http://www.dfwcfug.org

Reply via email to