Hola foro,
Parece que la solucion que sugerí requiere mucha elaboracion, la solucion de droguerman es completamente aplicable si el numero de registros no es alto, ya que el plan del motor de base de datos (cualquiera que sea) sería recorrer la tabla de manera natural (de comienzo a fin).
Otra posible solucion y siquiendo un poco la linea de droguerman es crear un campo fisico en la BD (campo_auxiliar) y que puede ser mantenido por triggers (before insert y before update) con la formula de droguerman. El campo deberia estar indexado, por aquello del rendimiento que tanto me preocupa.
campo_auxiliar = (a*1000) + b;
y la consuta
SELECT REGISTRO FROM tabla
where campo_auxiliar in ( 1002, 5007, 10020);
__________________
Luis Fernando Buelvas T.
|