![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
#1
|
||||
|
||||
Claro, es que like hace una comparación de textos por cada uno de los registros, sin embargo starting utiliza el índice del campo.
|
#2
|
||||
|
||||
PD. Me dio curiosidad si FB soporta indices sobre expresiones y si!:
https://firebirdsql.org/rlsnotesh/in...xpression.html Es muy util para acelerar consultas de este tipo...
__________________
El malabarista. |
#3
|
||||
|
||||
Cita:
|
#4
|
|||
|
|||
Por lo que se ve en la imagen de tu post, el problema es en la tabla recibos.
He de suponer que el campo CodPrv y RefInt tiene su indice respectivo. Con repecto a : Cita:
|
#5
|
||||
|
||||
Prueba con la sentencia EXISTS().
Cuando haces un SQL con "Campo IN (select ...)" el motor de base de datos tiene que obtener los datos del select y luego hacer la comparación. Con "EXISTS (select ...)" solo recorre los datos y se para cuando existe el primero. No tiene que guardar los datos que recupera del select en memoria.
Cita:
Quizás ayude, pero puede ser que haga que otras consultas vayan mas lentas. NOTA: La parte "(refint starting with '1' or refint starting with '2')" ponla entre paréntesis para "desambiguar" la sentencia. Última edición por duilioisola fecha: 22-09-2022 a las 09:59:50. |
#6
|
||||
|
||||
Gracias. Es una sentencia de la que nunca me acuerdo.
|
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Acelerar TClientDataset con Midas Speed Fix | cloayza | Providers | 2 | 11-10-2013 19:21:50 |
Problemas Acelerar PHP | HomeCinema | PHP | 1 | 09-02-2007 11:42:04 |
Acelerar carga de Delphi | mamcx | Noticias | 4 | 13-09-2006 00:51:52 |
Como acelerar el trabajo DBF | manuelpr | Conexión con bases de datos | 3 | 29-03-2005 19:52:11 |
Consejo para Acelerar Procesos | manuelpr | Varios | 2 | 08-03-2005 09:02:22 |
![]() |
|