数据库性能优化技巧
数据库性能优化可以显著提升网站访问速度。
索引优化:
创建索引:
CREATE INDEX idx_username ON users(username);
复合索引:
CREATE INDEX idx_name_email ON users(name, email);
查看索引:
SHOW INDEX FROM users;
删除无用索引:
DROP INDEX idx_name ON users;
索引使用原则:
- WHERE条件字段建索引
- 经常排序的字段建索引
- 避免过多索引影响写入
- 注意索引列顺序
查询优化:
使用EXPLAIN分析:
EXPLAIN SELECT * FROM users WHERE name = '张三';
优化建议:
- 避免SELECT *,只查需要的字段
- 使用LIMIT限制结果数量
- 避免在WHERE中对字段进行函数操作
- 使用JOIN代替子查询
慢查询日志:
开启慢查询日志:
SET GLOBAL slow_query_log = ON;
SET GLOBAL long_query_time = 2;
查看慢查询:
cat /var/log/mysql/slow.log
配置优化:
- 增加缓冲区: innodb_buffer_pool_size = 1G
- 增加连接数: max_connections = 500
表优化:
- 分析表: ANALYZE TABLE users;
- 优化表: OPTIMIZE TABLE users;
- 修复表: REPAIR TABLE users;