hola estoy probando xailer pero me encuentro con un problema que decidiria
si adopto el xailer o no
Tengo una tabla con 5000 registros y 47 campos ago una consulta sobre tres
campos "select nif,afi,nombre from personal" que tarda alrededor de 27
segundos en mostrarse en un browse hay alguna forma de poder acelerarlo
un saludo y gracias
In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Manejo Tablas Grandes MySQL
-
- Mensajes: 87
- Registrado: Sab Mar 15, 2008 10:29 pm
Manejo Tablas Grandes MySQL
Deberías utilizar la clausula limit en la Select.
Juan Jose escribió:
> hola estoy probando xailer pero me encuentro con un problema que decidiria
> si adopto el xailer o no
>
> Tengo una tabla con 5000 registros y 47 campos ago una consulta sobre tres
> campos "select nif,afi,nombre from personal" que tarda alrededor de 27
> segundos en mostrarse en un browse hay alguna forma de poder acelerarlo
>
> un saludo y gracias
>
>
Juan Jose escribió:
> hola estoy probando xailer pero me encuentro con un problema que decidiria
> si adopto el xailer o no
>
> Tengo una tabla con 5000 registros y 47 campos ago una consulta sobre tres
> campos "select nif,afi,nombre from personal" que tarda alrededor de 27
> segundos en mostrarse en un browse hay alguna forma de poder acelerarlo
>
> un saludo y gracias
>
>
-
- Mensajes: 620
- Registrado: Jue Mar 23, 2006 2:39 am
Manejo Tablas Grandes MySQL
Juan Jose:
Solo por curiosidad, tienes indices sobre algun o alguno de los campos
sobre los cuales estas haciendo el SELECT ?
Saludos
Rene Flores
http://www.ciber-tec.com
escribió:
> hola estoy probando xailer pero me encuentro con un problema que decidiria
> si adopto el xailer o no
>
> Tengo una tabla con 5000 registros y 47 campos ago una consulta sobre tres
> campos "select nif,afi,nombre from personal" que tarda alrededor de 27
> segundos en mostrarse en un browse hay alguna forma de poder acelerarlo
>
> un saludo y gracias
>
>
Solo por curiosidad, tienes indices sobre algun o alguno de los campos
sobre los cuales estas haciendo el SELECT ?
Saludos
Rene Flores
http://www.ciber-tec.com
escribió:
> hola estoy probando xailer pero me encuentro con un problema que decidiria
> si adopto el xailer o no
>
> Tengo una tabla con 5000 registros y 47 campos ago una consulta sobre tres
> campos "select nif,afi,nombre from personal" que tarda alrededor de 27
> segundos en mostrarse en un browse hay alguna forma de poder acelerarlo
>
> un saludo y gracias
>
>
Manejo Tablas Grandes MySQL
Juan José,
> hola estoy probando xailer pero me encuentro con un problema que decidiria
> si adopto el xailer o no
>
> Tengo una tabla con 5000 registros y 47 campos ago una consulta sobre tres
> campos "select nif,afi,nombre from personal" que tarda alrededor de 27
> segundos en mostrarse en un browse hay alguna forma de poder acelerarlo
me parece mucho tiempo para una consulta tan sencilla, aunque se trate de
5000 registros. Envíanos un pequeño proyecto de ejemplo con lo que estás
haciendo exactamente, y si es posible también, la BD, aunque sea con datos
ficticios. De esa forma podremos comprobar qué es lo que no está bien.
--
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info
> hola estoy probando xailer pero me encuentro con un problema que decidiria
> si adopto el xailer o no
>
> Tengo una tabla con 5000 registros y 47 campos ago una consulta sobre tres
> campos "select nif,afi,nombre from personal" que tarda alrededor de 27
> segundos en mostrarse en un browse hay alguna forma de poder acelerarlo
me parece mucho tiempo para una consulta tan sencilla, aunque se trate de
5000 registros. Envíanos un pequeño proyecto de ejemplo con lo que estás
haciendo exactamente, y si es posible también, la BD, aunque sea con datos
ficticios. De esa forma podremos comprobar qué es lo que no está bien.
--
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info
Manejo Tablas Grandes MySQL
Hola la tabla esta en un servidor la abro con el browse
asignadole el datasource.
he conseguido reduriar el tiempo con un query de cuatro campos a tres
segundos con esto
:oSQLQueryPersonal:cSelect :="Select id,orden,nif,afiliacion,nombre From
Personal"
luego.........
METHOD MantenEditar( oSender ) CLASS TFrmPersonal
WITH OBJECT FrmEditPersonal():New( Application:oMainForm )
:cText := "Edición de Personal"
:lEdit := .T. // Modo Edicion
:cFiltroNif :=
Application:oMainForm:otabpersonal:oBrw:aCols[2]:Value() // Pasa la Tabla
para Editar
IF :ShowModal() == mrOK
::oSQLQueryPersonal:Refresh()
::oBrw:Refresh()
ELSE
// :oSQLPersonal:Cancel()
ENDIF
END WITH
RETURN NIL
luego en otro formulario para editar
METHOD FormShow( oSender ) CLASS FrmEditPersonal
::oFolderPage1:SetFocus()
If ::lEdit == .T.
WaitOn("Recuperando Datos del Servidor...")
// Abrir con filtro la tabla
::cFiltroNif :=
Application:oMainForm:otabpersonal:oBrw:aCols[3]:Value()
::oSQLQuery1:cSelect := "Select * From personal where nif like
'" + ::cFiltroNif + "'"
::oSQLQuery1:lOpen := .t.
//Establezco un filtro antes de abrir las tablas
::oSQLContratos:Filter("NIF = '" + ::cFiltroNif + "'")
::oSQLTableBajait:Filter("NIF = '" + ::cFiltroNif+ "'")
::oSQLTableSanciones:Filter("NIF = '" + ::cFiltroNif + "'")
::oSQLPrestamos:Filter("NIF = '" + ::cFiltroNif + "'")
::oSQLTableRetenciones:Filter("NIF = '" + ::cFiltroNif + "'")
::oSQLTableHijos:Filter("NIF = '" + ::cFiltroNif + "'")
// Abre Tablas con Filtro
::oSQLContratos:lOpen := .T.
::oSQLTableBajait:lOpen := .T.
::oSQLTableSanciones:lOpen := .T.
::oSQLPrestamos:lOpen := .T.
::oSQLTableRetenciones:lOpen := .T.
::oSQLTableHijos:lOpen := .T.
::CargaArray()
::oSQLQuery1:Edit()
WaitOff()
ElseIf ::lEdit ==.F.
************************************************************ ************************
********************** ME AÑADE EL REGISTRO, PERO NO FUNCIONA AL GRABAR
********************** NO SE SILO HAGO CORRECTAMENTE
************************************************************ *************************
::oSQLQuery1:cSelect := "Insert Into Personal(Orden,
Delegacion,Nombre,Fecha_Alta,
Nombre_P,Nombre_M,Afiliacion, NIF, Fecha_Nacimiento,Poblacion_N,
Estado_C,Nacionalidad,Sexo,Provincia_N,Telefono_1,Via,Domici lio,N_Domicilio,
Codigo_Postal, Poblacion, Provincia, Codigo_C,
Fecha_Vto_C,Fecha_V_P,Fecha_E_A, Campo25,Tipo_Contrato, Categoria,
Nombre_Categ,Grupo_Antigueda, Grupo_Cotizacion, Baremo,
Campo32,Campo33,Centro_Trabajo, Des_Cen, Numero_Hijos,
Cuenta_Banco,Numero_Oficina, Dc, Campo40, Campo41,
Campo42,Cuente_Cotizacion,Empresa, Fecha_Baja_C,Numero_Banco, Apellidos,
Movil,Telefono_2,Referencia,Nombre_Banco, Codigo_P_B, Poblacion_Banco,
Provincia_Banco,Situacion_Irpf, Nif_Conyuge,Minusvalia, Domicilio_Banco, id)
Values('', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '',
'', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '',
'','', '', '', '', '', '', '', '', '', '', '', '', '', '', '','', '', '',
'', '', '', '','','0')"
::oSQLQuery1:lOpen := .t.
::CargaArray()
::oSQLQuery1:Edit()
EndIf
RETURN Nil
añadir registros para editarlos repito la consulta otra vez para traerme
todos los campos y funciona bien el problema esta al añadir, y no se si
tambien al borrar no he llegado hay
Un Saludo, Gracias
"Jose F. Gimenez" <jfgimenez@wanadoo.es> escribió en el mensaje
news:[email=484ed57f@ozsrv2.ozlan.local...]484ed57f@ozsrv2.ozlan.local...[/email]
> Juan José,
>
>> hola estoy probando xailer pero me encuentro con un problema que
>> decidiria si adopto el xailer o no
>>
>> Tengo una tabla con 5000 registros y 47 campos ago una consulta sobre
>> tres campos "select nif,afi,nombre from personal" que tarda alrededor de
>> 27 segundos en mostrarse en un browse hay alguna forma de poder
>> acelerarlo
>
> me parece mucho tiempo para una consulta tan sencilla, aunque se trate de
> 5000 registros. Envíanos un pequeño proyecto de ejemplo con lo que estás
> haciendo exactamente, y si es posible también, la BD, aunque sea con datos
> ficticios. De esa forma podremos comprobar qué es lo que no está bien.
>
> --
> Un saludo,
>
> José F. Giménez
> http://www.xailer.com
> http://www.xailer.info
>
asignadole el datasource.
he conseguido reduriar el tiempo con un query de cuatro campos a tres
segundos con esto
:oSQLQueryPersonal:cSelect :="Select id,orden,nif,afiliacion,nombre From
Personal"
luego.........
METHOD MantenEditar( oSender ) CLASS TFrmPersonal
WITH OBJECT FrmEditPersonal():New( Application:oMainForm )
:cText := "Edición de Personal"
:lEdit := .T. // Modo Edicion
:cFiltroNif :=
Application:oMainForm:otabpersonal:oBrw:aCols[2]:Value() // Pasa la Tabla
para Editar
IF :ShowModal() == mrOK
::oSQLQueryPersonal:Refresh()
::oBrw:Refresh()
ELSE
// :oSQLPersonal:Cancel()
ENDIF
END WITH
RETURN NIL
luego en otro formulario para editar
METHOD FormShow( oSender ) CLASS FrmEditPersonal
::oFolderPage1:SetFocus()
If ::lEdit == .T.
WaitOn("Recuperando Datos del Servidor...")
// Abrir con filtro la tabla
::cFiltroNif :=
Application:oMainForm:otabpersonal:oBrw:aCols[3]:Value()
::oSQLQuery1:cSelect := "Select * From personal where nif like
'" + ::cFiltroNif + "'"
::oSQLQuery1:lOpen := .t.
//Establezco un filtro antes de abrir las tablas
::oSQLContratos:Filter("NIF = '" + ::cFiltroNif + "'")
::oSQLTableBajait:Filter("NIF = '" + ::cFiltroNif+ "'")
::oSQLTableSanciones:Filter("NIF = '" + ::cFiltroNif + "'")
::oSQLPrestamos:Filter("NIF = '" + ::cFiltroNif + "'")
::oSQLTableRetenciones:Filter("NIF = '" + ::cFiltroNif + "'")
::oSQLTableHijos:Filter("NIF = '" + ::cFiltroNif + "'")
// Abre Tablas con Filtro
::oSQLContratos:lOpen := .T.
::oSQLTableBajait:lOpen := .T.
::oSQLTableSanciones:lOpen := .T.
::oSQLPrestamos:lOpen := .T.
::oSQLTableRetenciones:lOpen := .T.
::oSQLTableHijos:lOpen := .T.
::CargaArray()
::oSQLQuery1:Edit()
WaitOff()
ElseIf ::lEdit ==.F.
************************************************************ ************************
********************** ME AÑADE EL REGISTRO, PERO NO FUNCIONA AL GRABAR
********************** NO SE SILO HAGO CORRECTAMENTE
************************************************************ *************************
::oSQLQuery1:cSelect := "Insert Into Personal(Orden,
Delegacion,Nombre,Fecha_Alta,
Nombre_P,Nombre_M,Afiliacion, NIF, Fecha_Nacimiento,Poblacion_N,
Estado_C,Nacionalidad,Sexo,Provincia_N,Telefono_1,Via,Domici lio,N_Domicilio,
Codigo_Postal, Poblacion, Provincia, Codigo_C,
Fecha_Vto_C,Fecha_V_P,Fecha_E_A, Campo25,Tipo_Contrato, Categoria,
Nombre_Categ,Grupo_Antigueda, Grupo_Cotizacion, Baremo,
Campo32,Campo33,Centro_Trabajo, Des_Cen, Numero_Hijos,
Cuenta_Banco,Numero_Oficina, Dc, Campo40, Campo41,
Campo42,Cuente_Cotizacion,Empresa, Fecha_Baja_C,Numero_Banco, Apellidos,
Movil,Telefono_2,Referencia,Nombre_Banco, Codigo_P_B, Poblacion_Banco,
Provincia_Banco,Situacion_Irpf, Nif_Conyuge,Minusvalia, Domicilio_Banco, id)
Values('', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '',
'', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '',
'','', '', '', '', '', '', '', '', '', '', '', '', '', '', '','', '', '',
'', '', '', '','','0')"
::oSQLQuery1:lOpen := .t.
::CargaArray()
::oSQLQuery1:Edit()
EndIf
RETURN Nil
añadir registros para editarlos repito la consulta otra vez para traerme
todos los campos y funciona bien el problema esta al añadir, y no se si
tambien al borrar no he llegado hay
Un Saludo, Gracias
"Jose F. Gimenez" <jfgimenez@wanadoo.es> escribió en el mensaje
news:[email=484ed57f@ozsrv2.ozlan.local...]484ed57f@ozsrv2.ozlan.local...[/email]
> Juan José,
>
>> hola estoy probando xailer pero me encuentro con un problema que
>> decidiria si adopto el xailer o no
>>
>> Tengo una tabla con 5000 registros y 47 campos ago una consulta sobre
>> tres campos "select nif,afi,nombre from personal" que tarda alrededor de
>> 27 segundos en mostrarse en un browse hay alguna forma de poder
>> acelerarlo
>
> me parece mucho tiempo para una consulta tan sencilla, aunque se trate de
> 5000 registros. Envíanos un pequeño proyecto de ejemplo con lo que estás
> haciendo exactamente, y si es posible también, la BD, aunque sea con datos
> ficticios. De esa forma podremos comprobar qué es lo que no está bien.
>
> --
> Un saludo,
>
> José F. Giménez
> http://www.xailer.com
> http://www.xailer.info
>
Manejo Tablas Grandes MySQL
Juan José,
> ::oSQLQuery1:cSelect := "Insert Into Personal(Orden,
> Delegacion,Nombre,Fecha_Alta, Nombre_P,Nombre_M,Afiliacion, NIF,
> Fecha_Nacimiento,Poblacion_N,
> Estado_C,Nacionalidad,Sexo,Provincia_N,Telefono_1,Via,Domici lio,N_Domicilio,
> Codigo_Postal, Poblacion, Provincia, Codigo_C,
> Fecha_Vto_C,Fecha_V_P,Fecha_E_A, Campo25,Tipo_Contrato, Categoria,
> Nombre_Categ,Grupo_Antigueda, Grupo_Cotizacion, Baremo,
> Campo32,Campo33,Centro_Trabajo, Des_Cen, Numero_Hijos,
> Cuenta_Banco,Numero_Oficina, Dc, Campo40, Campo41,
> Campo42,Cuente_Cotizacion,Empresa, Fecha_Baja_C,Numero_Banco, Apellidos,
> Movil,Telefono_2,Referencia,Nombre_Banco, Codigo_P_B, Poblacion_Banco,
> Provincia_Banco,Situacion_Irpf, Nif_Conyuge,Minusvalia, Domicilio_Banco,
> id) Values('', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '',
> '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '',
> '', '','', '', '', '', '', '', '', '', '', '', '', '', '', '', '','', '',
> '', '', '', '', '','','0')"
> ::oSQLQuery1:lOpen := .t.
> ::CargaArray()
> ::oSQLQuery1:Edit()
Para ejecutar de forma directa comandos 'insert', 'update' o 'delete' debes
utilizar el método Execute() del datasource, ya que dichos comandos no
retornan un conjunto de datos. Después de lanzar el Execute(), puedes
simplemente ejecutar un Refresh() en el dataset que ya tenías abierto para
que actualice los datos.
--
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info
> ::oSQLQuery1:cSelect := "Insert Into Personal(Orden,
> Delegacion,Nombre,Fecha_Alta, Nombre_P,Nombre_M,Afiliacion, NIF,
> Fecha_Nacimiento,Poblacion_N,
> Estado_C,Nacionalidad,Sexo,Provincia_N,Telefono_1,Via,Domici lio,N_Domicilio,
> Codigo_Postal, Poblacion, Provincia, Codigo_C,
> Fecha_Vto_C,Fecha_V_P,Fecha_E_A, Campo25,Tipo_Contrato, Categoria,
> Nombre_Categ,Grupo_Antigueda, Grupo_Cotizacion, Baremo,
> Campo32,Campo33,Centro_Trabajo, Des_Cen, Numero_Hijos,
> Cuenta_Banco,Numero_Oficina, Dc, Campo40, Campo41,
> Campo42,Cuente_Cotizacion,Empresa, Fecha_Baja_C,Numero_Banco, Apellidos,
> Movil,Telefono_2,Referencia,Nombre_Banco, Codigo_P_B, Poblacion_Banco,
> Provincia_Banco,Situacion_Irpf, Nif_Conyuge,Minusvalia, Domicilio_Banco,
> id) Values('', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '',
> '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '',
> '', '','', '', '', '', '', '', '', '', '', '', '', '', '', '', '','', '',
> '', '', '', '', '','','0')"
> ::oSQLQuery1:lOpen := .t.
> ::CargaArray()
> ::oSQLQuery1:Edit()
Para ejecutar de forma directa comandos 'insert', 'update' o 'delete' debes
utilizar el método Execute() del datasource, ya que dichos comandos no
retornan un conjunto de datos. Después de lanzar el Execute(), puedes
simplemente ejecutar un Refresh() en el dataset que ya tenías abierto para
que actualice los datos.
--
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info