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
