Bien, tengo una duda y agradeceré enormemente a quien pueda ayudarme...
necesito realizar lo siguiente:
Contar el total de registros de una vista (o tabla, en mi caso ya es una vista):
Código SQL:
Ver originalSELECT COUNT(*) FROM vista_general_personas
el resultado de ese count lo quiero combinar o cruzar como se interprete una segunda consulta, del tipo:
SELECT * FROM vista_general_personas LIMIT 30 OFFSET (resultadocount)-30
he pasado por separado las consultas desde PHP y si me funciona, pero es una consulta muy lenta, porque estoy evaluando arriba de 140mil registros y ésta sigue creciendo cada día, lo que necesito es mostrar los últimos 30 registros de la base de datos a manera de resumen en una página, pero hacer un clásico
ORDER BY id DESC Limit 30 consume mucho tiempo y deseo optimizarlo, hice algunas pruebas desde PHP y me funciona como ya lo mencioné, pero ahora quiero hacer un SP o una Función que viva en el servidor, para ello buscando información trataba de hacer lo siguiente:
Código SQL:
Ver originalDELIMITER $$
DROP FUNCTION IF EXISTS totales $$
CREATE FUNCTION totales()
BEGIN
DECLARE t INT;
SELECT COUNT(*) INTO t FROM vista_general_personas;
SET @valor = t - 30;
SELECT * FROM vista_general_personas LIMIT 30 OFFSET valor;
END $$
DELIMITER ;
pero no lo pude hacer funcionar, se que debe estar mal, pero no se como solucionarlo, agradecería su apoyo a cualquiera que pudiera apoyarme, muchas gracias.