Store your information in a variable until you reach a certain number of
records and then append it to the file.  You will have a significantly
reduced number of writes to the disk which is causing your slow
response.


Something like this:

<cfset
csvfile="//kcweb/firmdaily/isweb/hbimport/"&#rtrim(GetAuthors.AUTHOR)#&"
_FIR
ST.csv">

<cfoutput query="GetDocs">

<cfset theoutput =
"#chr(34)##rtrim(GetDocs.DOCNUM)##chr(34)#,#chr(34)##rtrim(GetDocs.VE
RSION)##chr(34)#,#chr(34)##rtrim(GetDocs.FULLPATH)##chr(34)#,#chr(34)##r
trim
(GetDocs.DEPT)##chr(34)#,#chr(34)##rtrim(GetDocs.CATEGORY)##chr(34)#,#ch
r(34
)##rtrim(GetDocs.newc1)##chr(34)#,#chr(34)##rtrim(GetDocs.newc2)##chr(34
)#,#
chr(34)##rtrim(GetDocs.operator)##chr(34)#,#chr(34)##rtrim(GetDocs.editd
ate)
##chr(34)#,#chr(34)##rtrim(GetDocs.edittime)##chr(34)#,#chr(34)##rtrim(G
etDo
cs.author)##chr(34)#,#chr(34)##rtrim(GetDocs.createdate)##chr(34)#,#chr(
34)#
#rtrim(GetDocs.createtime)##chr(34)#,#rtrim(GetDocs.docname)#,#chr(34)##
rtri
m(GetDocs.comments)##chr(34)#,#chr(34)##rtrim(GetDocs.T_Alias)##chr(34)#
,#ch
r(34)##rtrim(GetDocs.C_Alias)##chr(34)#">

<cfif getdocs.currentrecord mod 100000 eq 0>
        <cffile ... output = theoutput >
</cfif>

</cfoutput>

- Matt Small





-----Original Message-----
From: Gieseman, Athelene [mailto:[EMAIL PROTECTED]] 
Sent: Friday, March 29, 2002 10:31 AM
To: CF-Talk
Subject: Creating a CSV File

I have created a CF page which uses CFFILE to read data from a table and
create a .csv file from that data.  It works.  The problem is that it is
very slow.  Is there anything I can do to create this file without
having to
open, append and close the file for each line?  Or is there some other
reason it is taking so long?  I'll have about a half a million records
for
all the various csv's I need to create next week.  Any suggestions would
be
very much appreciated!

The code is as follows:

<cfset
csvfile="//kcweb/firmdaily/isweb/hbimport/"&#rtrim(GetAuthors.AUTHOR)#&"
_FIR
ST.csv">

<cfoutput query="GetDocs">
<cffile action="APPEND" file=#csvfile#
output="#chr(34)##rtrim(GetDocs.DOCNUM)##chr(34)#,#chr(34)##rtrim(GetDoc
s.VE
RSION)##chr(34)#,#chr(34)##rtrim(GetDocs.FULLPATH)##chr(34)#,#chr(34)##r
trim
(GetDocs.DEPT)##chr(34)#,#chr(34)##rtrim(GetDocs.CATEGORY)##chr(34)#,#ch
r(34
)##rtrim(GetDocs.newc1)##chr(34)#,#chr(34)##rtrim(GetDocs.newc2)##chr(34
)#,#
chr(34)##rtrim(GetDocs.operator)##chr(34)#,#chr(34)##rtrim(GetDocs.editd
ate)
##chr(34)#,#chr(34)##rtrim(GetDocs.edittime)##chr(34)#,#chr(34)##rtrim(G
etDo
cs.author)##chr(34)#,#chr(34)##rtrim(GetDocs.createdate)##chr(34)#,#chr(
34)#
#rtrim(GetDocs.createtime)##chr(34)#,#rtrim(GetDocs.docname)#,#chr(34)##
rtri
m(GetDocs.comments)##chr(34)#,#chr(34)##rtrim(GetDocs.T_Alias)##chr(34)#
,#ch
r(34)##rtrim(GetDocs.C_Alias)##chr(34)#" addnewline="Yes">

</cfoutput>

 


______________________________________________________________________
Get the mailserver that powers this list at http://www.coolfusion.com
FAQ: http://www.thenetprofits.co.uk/coldfusion/faq
Archives: http://www.mail-archive.com/[email protected]/
Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists

Reply via email to