¿Es posible averiguar qué columnas (no) se consultan explícitamente en MySQL / MariaDB?

Tenemos una mesa muy grande y muy antigua con unos cientos de columnas. Algunas de las columnas son históricas y no se utilizan en ningún cliente de escritura. En su mayoría están vacíos (espere en registros muy antiguos). Quiero limpiar la base de datos y deshacerme de las columnas viejas y no utilizadas en ciertas tablas.

El problema son todos los clientes de terceros que acceden a esta base de datos (solo lectura). No puedo esperar que todos los proveedores actualicen a sus clientes. Mientras estén buscandoSELECT * ...No importa. Pero espero que consulten explícitamente (SELECT colA, colB, ...) Eliminar colA de la tabla daría lugar a errores en el lado del cliente, obviamente.

Ahora me gustaría saber qué columnas son explícitamente utilizadas por las declaraciones de consulta, para poder eliminar las que no se utilizan. Creo que podría usar el registro de consultas, analizarlo y encontrar columnas explícitamente utilizadas, pero:

Recibimos unos pocos millones de consultas por hora.Algunos clientes acceden a nuestra base de datos tal vez una vez a la semana, si es que lo hacen, algunos cada segundo.

Eso significa que el registro de consultas tendría que ejecutarse durante meses en un entorno de producción y no sé si eso podría / tendría un impacto negativo en los servidores o el rendimiento general.

¿Hay alguna otra solución más sólida? ¿Son exageradas mis preocupaciones con respecto al registro de consultas? Esperaba que MariaDB / MySQL estuvieran almacenando datos estadísticos en alguna parte, mostrando el uso de columnas, pero no pude encontrar nada que necesitara.

Respuestas a la pregunta(2)

Su respuesta a la pregunta