 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
JesúsGandia66 Cdt

Registrado: 08 Ago 2004Mensajes: 1Ubicación: Gandia, Valencia
|
Publicado: Dom 08 Ago, 2004 5:35 am Asunto: SQL o Locate |
|
|
Me podeis decir cual de estas dos intrucciones se ejecutan mas rapido y por que?
A mi parecer se ejecuta mas rapidamente y así parece en mi programa cuando hago la busqueda en SQL, es cierto?
codigo Locate:
| Código: |
TLocateOptions Opcion;
Opcion.Clear();
Variant jesus[2];
jesus[0] = ((TSpeedButton*)Sender)->ComponentIndex;
if(SpeedButtonArticulos->Down)
jesus[1] = N - 118;
if(SpeedButtonSuplementos->Down)
jesus[1] = N - 88;
if(SpeedButtonComentarios->Down)
jesus[1] = N - 58;
ModuloDatosControl->IBTable1->Locate("COMPONENTEGRUPO;NUMEROBOTON",VarArrayOf(jesus,1) ,Opcion);
((TBitBtn*)Components[N])->Caption = ModuloDatosControl->IBTable1->FieldByName("TEXTOBOTON")->AsString;
((TBitBtn*)Components[N])->Font->Color = ModuloDatosControl->IBTable1->FieldByName("CODIGOCOLOR")->AsInteger;
|
Codigo para SQL:
| Código: |
int NumeroBoton;
if(SpeedButtonArticulos->Down)
NumeroBoton = N - 118;
if(SpeedButtonSuplementos->Down)
NumeroBoton = N - 88;
if(SpeedButtonComentarios->Down)
NumeroBoton = N - 58;
ModuloDatosControl->IBQuery1->SQL->Clear();
ModuloDatosControl->IBQuery1->SQL->Add("select TEXTOBOTON,CODIGOCOLOR from BOTONARTICULOS where COMPONENTEGRUPO =:Parametro1 and NUMEROBOTON =:Parametro2");
ModuloDatosControl->IBQuery1->ParamByName("Parametro1")->AsInteger = ((TSpeedButton*)Sender)->ComponentIndex;
ModuloDatosControl->IBQuery1->ParamByName("Parametro2")->AsInteger = NumeroBoton;
ModuloDatosControl->IBQuery1->Open();
((TBitBtn*)Components[N])->Caption = ModuloDatosControl->IBQuery1->FieldByName("TEXTOBOTON")->AsString;
((TBitBtn*)Components[N])->Font->Color = ModuloDatosControl->IBQuery1->FieldByName("CODIGOCOLOR")->AsInteger;
|
En mi programa a pesar de tener mas codigo en la parte SQL me parece que funciona mas deprisa. Mi pregunta es: Es mas rapido una consulta SQL que una busqueda con Locate? |
|
| Volver arriba |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Lun 09 Ago, 2004 7:30 am Asunto: |
|
|
La velocidad con la que se ejcuta una comando de búsqueda no depende tanto del código (SQL o Locate) como de la propia base de datos o de la complejidad de la misma. En general, si la basde de datos cuenta con muchos registros suele ser más rápido un comando SQL que un Loctae puro y duro. _________________ Un saludo
Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA) |
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|