1. 创建索引
基本语法:
CREATE INDEX index_name ON table_name (column_name);
示例:
CREATE INDEX idx_employee_name ON employees (last_name);
如果你需要创建唯一索引,确保列中的值是唯一的:
CREATE UNIQUE INDEX idx_unique_email ON users (email);
2. 查看索引
查看表的所有索引:
SHOW INDEX FROM table_name;
示例:
SHOW INDEX FROM employees;
这个命令会返回表中所有的索引信息,包括索引名称、列名、唯一性等。
查看索引详细信息:
SHOW KEYS FROM table_name;
示例:
SHOW KEYS FROM employees;
3. 修改索引
在MySQL中,索引的修改通常涉及到删除旧的索引和创建新的索引。
删除索引:
DROP INDEX index_name ON table_name;
示例:
DROP INDEX idx_employee_name ON employees;
创建新的索引(例如,如果你需要在不同的列上创建索引):
CREATE INDEX idx_new_index ON employees (new_column);
4. 删除索引
删除索引:
DROP INDEX index_name ON table_name;
示例:
DROP INDEX idx_employee_name ON employees;
注意事项:
- 删除索引会影响查询性能,因此请在删除之前确保不再需要该索引或计划用其他索引替代它。
- 索引的创建、修改和删除操作可能会锁定表,因此在高负载的生产环境中执行这些操作时应谨慎。
5. 其他有用的操作
创建复合索引(多个列的索引):
CREATE INDEX idx_composite ON table_name (column1, column2);
示例:
CREATE INDEX idx_employee_name_dept ON employees (last_name, department_id);
查看表的索引结构(包括复合索引):
SHOW INDEX FROM table_name;