En MySQL, puede definir un procedimiento en C++ que pueda acceder
y modificar los datos en una consulta antes de enviarla al
cliente. La modificación puede hacerse registro a registro o a
nivel GROUP BY
.
Hemos creado un procedimiento de ejemplo en MySQL 3.23 para mostrar cómo se hace.
Adicionalmente, recomendamos que consulte
mylua
. Con esto puede usar el lenguaje LUA para
cargar procedimientos en tiempo de ejecución en
mysqld.
analyse([
max_elements
,[max_memory
]])
Este procedimiento se define en
sql/sql_analyse.cc
. Esto examina el
resultado de su consulta y retorna un análisis del resultado:
-
max_elements
(por defecto 256) es el máximo número de valores distintos queanalyse
puede tratar por columna. Esto lo usaanalyse
para chequear si el tipo óptimo de columna debe ser de tipoENUM
. -
max_memory
(por defecto 8192) es la cantidad máxima de memoria queanalyse
puede reservar por columna mientras trata de encontrar todos los valores distintos.
SELECT ... FROM ... WHERE ... PROCEDURE ANALYSE([max_elements
,[max_memory
]])