Cómo eliminar un índice que se ha agregado en la base de datos
La eliminación de un índice se puede lograr utilizando la instrucción ALTER TABLE o DROP INDEX. DROP INDEX se puede procesar como una declaración dentro de ALTER TABLE. Su formato es el siguiente:
DROP INDEX nombre_índice. ?ON?talbe_name
ALTER TABLE nombre_tabla DROP INDEX nombre_índice
ALTER TABLE nombre_tabla DROP PRIMARY KEY
Nota: Las dos primeras declaraciones son equivalentes, elimine nombre_tabla El índice nombre_índice.
Información ampliada:
¿Uso y precauciones del índice?
EXPLAIN puede ayudar a los desarrolladores a analizar problemas de SQL. Explicar muestra cómo mysql usa índices para procesar declaraciones seleccionadas y unirse. Las tablas pueden ayudar a elegir mejores índices y escribir declaraciones de consulta más optimizadas.
Para usarlo, simplemente agregue Explicación antes de la instrucción de selección: Explicación select * del usuario donde id=1;
Intenta evitar estos sql no indexados:
SELECT `sname` FROM `stu` WHERE `age`+10=30;--El índice no se utilizará porque todas las columnas del índice participan en el cálculo
SELECT `sname` FROM `stu` WHERE LEFT(`date`,4) <1990 - No se usará el índice porque se usa la operación de función, el principio es el mismo que el anterior
SELECT * FROM `houdunwang` WHERE `uname` LIKE; 'backing%' Revisa el índice
SELECT * FROM `houdunwang` DONDE `uname` COMO "% backing%" No revisa el índice
Las expresiones regulares no usan índices , esto debería ser fácil de entender, por lo que la palabra clave regexp es difícil de ver en SQL.
La comparación de cadenas y números no utiliza índice;
CREAR TABLA `a` (`a` char(10));
EXPLICAR SELECT * FROM ` a` WHERE `a`="1" Usa el índice
EXPLICA SELECT * FROM `a` WHERE `a`=1 No usa el índice