Nueva función listas


([N2] bannu) #1

Sería de gran ayuda una nueva función de lista que obtuviese un número limitado de registros a partir de una posición, y que también se pueda aplicar en las búsquedas, en SQL se puede realizar y es muy potente, por ejemplo para páginar resultados sin necesidad de índices extras, ejemplo SQL:


``` L ```


([N1] Rafael) #2

La paginación requiere una pensada por parte e Velneo...


([N2] bannu) #3

Perdón, comando SQL;

SELECT * FROM em_posts WHERE id_empresa=100 LIMIT $desde, $registros


([N1] Pepeto) #4

Exactamente lo mismo que yo pensaba, :)

Comando Velneo (en un proceso):

Búsqueda EM_POST_BUS (por indice ID_EMPRESA, parte izquierda = 100)
--- Cortar Lista ( Registros , Desde )

es exactamente lo mismo

un saludo
Jose Luis
http://www.ascsl.com


([N2] bannu) #5

No Pepeto, no es lo mismo, en la búsqueda cargas todos los registros y luego los cortas, imaginemos que haya 1000 registros con clave 100, primero cargas los 1000 registros y luego seleccionas el número de registros deseado, pero tú primero cargas los 1000 registros, lo que yo propongo es otra cosa, lo de cortar lista ya lo sabemos desde la v6, pero su rendimiento no es el más optimo, si estoy equivocado que alguien me saque de la duda.


([N1] Pepeto) #6

Se como funciona la "Busqueda", y si, tienes razón:
1. La búsqueda primero carga todos los registros de la lista por el indice (parte izquierda), no todos los de la tabla,
2. Luego cortar lista te retorna solo los registros que deseas

De esto no tengo dudas, lo que si que tengo didas, realmente, es cual es el rendimiento de SQL, porque SQL tambien tiene que cargar la lista por el indice, para luego realizar la misma operacion. SQL debe tener la lista completa para luego saber los registros que tiene que retornar, o eso, o SQL tiene algun pacto con el diablo.

De lo que estoy seguro, es que los dos hacen lo mismo.
De lo que no estoy seguro, es cual es mejor en rendimiento con grandes cantidades de registros.

Pero una busqueda en 3 plano, que retorna al cliente solo los registros deseados, uhmmmm, ..... no se, SQL tiene que ser muy rapido para mejorarlo.

Cuando tenga un rato, lo probare, ;) para salir de dudas.

un saludo
Jose Luis
http://www.ascsl.com


([N1] Pepeto) #7

@rzaragoza

En realidad con este codigo:
Busqueda IDENTIF_BUS
--- Cortar Lista ( Registros, Desde )

Tendrias la paginacion resuelta, controlando unicamente las dos variables: Registros y Desde

Pero al final, una paginacion de indices, no es sino, un "Indice de indices", ¿no?
Pero eso necesitaria un indice adicional , quizá la única diferencia es que lo crearia Velneo y no nosotros.
Pues aqui lo dejo, ale, a pensar ... ;)

un saludo
Jose Luis
http://www.ascsl.com