jueves, 6 de noviembre de 2014

Extraer tablas con falta de indices.

Si requerimos extraer de una manera dinamica, a que campos de las tablas les falta crearles indice, podemos generarlo dando como parámetros la base de datos y el nombre o alias de campos.

En ocasiones nuestras reglas nos dicen que los campos que representan una llave foranea terminan con "_id", es asi que realizo la siguiente consulta


Consulta para extraer el query con la creación de indices para las tablas de una base de datos data, donde


SELECT CONCAT('CREATE INDEX ix_', a.table_name,'_',a.column_name, ' ON ',a.table_name,'(',a.column_name,')') as indice
FROM information_schema.columns as a INNER JOIN  information_schema.tables as b
ON a.table_schema = b.table_schema and a.table_name = b.table_name
WHERE a.table_schema = 'nombre_basedatos' and a.column_name like ('%_id') and b.table_rows > 1000 and column_key = '';


nombre_basedatos: La base de datos donde queremos revisar.
%_id: El alias de los campos que se estan buscando.

Dudas?

No hay comentarios.:

Publicar un comentario