R: Elaborare query con molti record

"Puglia Marco" <[email protected]>
Newsgroups gmane.comp.cms.cold-fusion.devel.italian
Message-ID <28CCFBE04D70AC47A1CE899BDF82809F01A146CE@bera-mail.businesse.local>
Quando dici “quello che ha pronto” cosa intendi? All’interno del loop scrivo delle cose sul browser, quando le visualizza? Ogni tot tempo? Ogni tot byte? Quando ne ha voglia, se ne ha voglia?

 

Grazie J

 

================================
Marco Puglia
Project Manager
Business-e S.r.l. <http://www.business-e.it/>  (an Itway Group Company)

Via F.lli Lumière, 65 - 48010 Ravenna

Tel. +39 0544.460413 - Fax +39 0544.272297

Cell. 348 4759233


Italy, France, Spain, Portugal, Greece, Turkey 
Ravenna, Milano, Trento, Bari, Massa, Roma
Paris, Barcelona, Madrid, Lisboa, Athina, Istanbul, Ankara
================================

 

Da: [email protected] [mailto:[email protected]] Per conto di CiBer
Inviato: giovedì 3 maggio 2012 19:49
A: [email protected]
Oggetto: Re: Elaborare query con molti record

 

  

cflush con l'opzione interval=n ti manda dati verso il webserver e quindi il browser ogni n bytes da presentare, per cui metterlo all'interno del loop non ha alcun senso.
Se vuoi, invece, avere un output "a comando" devi mettere il solo tag cfflush SENZA parametri, ed allora ha senso metterlo all'interno del loop perché invia quello che ha pronto quando gli dici di inviare
CiBer

Il 03/05/2012 18:32, Fabio Serra ha scritto: 

	  

	mettici qualcosa in output tipo dei puntini

	... <cfflush interval="10"> 

	2012/5/3 Puglia Marco <[email protected]>
	
	

	 

	In effetti così sembra funzionare, però non sono ancora riuscito a capire bene il funzionamento di <cfflush>, se lo metto dentro il loop della query in questo modo:

	<cfloop query="elenco">

	                <cfset midean13=elenco.codiceean>

	                <cfquery name="trova" datasource="liberamente">

	                               select * from libridb where idean13='#midean13#'

	                </cfquery>

	                <cfif trova.recordcount eq 1>

	                               <cfoutput>#midean13#</cfoutput> non trovato (da aggiungere)<br>

	                </cfif>

	                <cfflush interval="10">

	</cfloop>

	 

	Non mi mostra niente durante l’elaborazione, rimane fermo per qualche secondo e poi visualizza la pagina a loop concluso.

	Come mai?

	 

	================================
	Marco Puglia
	Project Manager
	Business-e S.r.l. <http://www.business-e.it/>  (an Itway Group Company)
	
	Via F.lli Lumière, 65 - 48010 Ravenna

	Tel. +39 0544.460413 <tel:%2B39%200544.460413>  - Fax +39 0544.272297 <tel:%2B39%200544.272297> 

	Cell. 348 4759233

	
	Italy, France, Spain, Portugal, Greece, Turkey 
	Ravenna, Milano, Trento, Bari, Massa, Roma
	Paris, Barcelona, Madrid, Lisboa, Athina, Istanbul, Ankara
	================================

	 

	Da: [email protected] [mailto:[email protected]] Per conto di Fabio Serra
	Inviato: mercoledì 25 aprile 2012 12:56
	A: [email protected]
	Oggetto: Re: Elaborare query con molti record

	 

	  

	Ma dopo quanto tempo ti va in time-out? Senza impelagarti in altre cose hai aumentato il timeout di coldfusion ed usato cfflush per non far andare in tiimeout il browser?

	 

	All'inizio della procedura metti un bel

	 

	<cfsetting requestTimeOut = "1800">  numero di secondi

	 

	poi dentro il loop della query metti un <cfflush>

	 

	così manda sempre al browser qualcosa e non va in timeout. Guardati bene cfflush dove puoi specificarli ogni quanti byte mandare qualcosa al browser etc etc. 

	Comunque in questo modo il browser non va mai in timeout e neanche coldfusion. Dovresti aver risolto.

	 

	 

	 

	 

	2012/4/23 Puglia Marco <[email protected]>

	 

	Vi pongo questo quesito che mi attanaglia ormai da diverso tempo.

	 

	Situazione

	Ho una query che estrare i dati da una tabella su Mysql (circa 800.000 record).

	 

	Necessità

	Per ogni record estratto, devo controllare se esiste l’ID su un’altra tabella, in caso negativo vado ad aggiungere il record sulla seconda tabella.

	 

	Problema

	Se eseguo un loop sulla query per tutti gli 800.000 record il browser va in timeout.

	Ho provato a spezzare la query e ricaricare lo script ogni 10000 record, ma quanto arrivo a 200.000 il browser mi dice che c’è un problema di loop.

	Come posso risolvere?

	 

	Grazie a tutti in anticipo per la risposta.

	 

	 

	================================
	Marco Puglia
	Project Manager
	Business-e S.r.l. <http://www.business-e.it/>  (an Itway Group Company)
	
	Via F.lli Lumière, 65 - 48010 Ravenna

	Tel. +39 0544.460413 <tel:%2B39%200544.460413>  - Fax +39 0544.272297 <tel:%2B39%200544.272297> 

	Cell. 348 4759233

	
	Italy, France, Spain, Portugal, Greece, Turkey 
	Ravenna, Milano, Trento, Bari, Massa, Roma
	Paris, Barcelona, Madrid, Lisboa, Athina, Istanbul, Ankara
	================================

	 

	 

	
	
	

	 

	-- 

	Fabio Serra
	[email protected]
	http://faser.net

	 

	
	
	

	 

	-- 
	Fabio Serra
	[email protected]
	http://faser.net
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.