导致接口性能出现问题的原因非常多,千奇百怪,当出现性能问题时,如何进行优化,有以下一些操作:
1. 优化索引
1.1 添加索引
当项目中没有索引时,此时就该考虑添加索引。
当 sql 语句中 where 条件的关键字段,或者 order by 后面的排序字段,忘了加索引,这个问题在项目中很常见。当数据库表中数据量越来越多,就不得不考虑加索引了。
- 查看数据库表是否存在索引,单独查看某张表的索引情况:
show index from `table_name`;
- 创建数据库表时,查看某张表的索引情况:
show create from `table_name`;
- 通过 ALTER TABLE 命令可以添加索引
ALTER TABLE ``table_name` ADD INDEX idx_name (name);
- 通过 CREATE INDEX 命令添加索引
CREATE INDEX idx_name ON `table_name` (name);
1.2 修改索引
目前在mysql中如果想要修改索引,只能先删除索引,再重新添加新的。
- 删除索引可以用 DROP INDEX 命令:
ALTER TABLE `table_name` DROP INDEX idx_name;
- 用 DROP INDEX 命令也行:
DROP INDEX idx_name ON `table_name`;
1.3 索引没生效
使用explain命令,查看mysql的执行计划
explain select * from `table_name` where code='001';
- 可以查看到 index(索引) 的情况
1.4 删除冗余索引
- 虽然索引可以提高查询性能,但过多的索引也会占用大量的磁盘空间,并可能降低写入操作的性能。因此,在创建索引时要权衡利弊,只创建必要的索引。
未完待续ing,等我想到再补充吧