这条sql语句执行耗时特别久不知道为什么,语句也简单,表也不大才几十条数据,但就是执行的慢
这是表结构
这是表索引,无外键
其一,索引会占用空间 - 你的表越大,索引占用的空间越大。其二,性能损失(主要值更新操作),当你在表中添加、删除或者更新行数据的时候, 在索引中也会有相同的操作。
看着确实蛮离谱的,这条SQL是第一执行这样还是一直都是这么慢,楼主可以在SQL前面加个explain,截图一个执行计划看看嘛
可以先确认下你这个表的数据量现在有多少吗
第二个,id是没有索引的,如果数据量很大的话,这个执行是会很慢的
几十条的数据量,网络正常的情况下不可能需要十几秒的,看你的explain也是走的主键索引,真要这么慢,mysql早被淘汰了。
走了主键索引不可能慢的,是不是又别的sql加锁了,导致这个一直在等待锁?
对于update操作,索引将对原先的数据进行删除标记,然后增加一条新的记录,所以当索引设计的不合理时,会影响更新操作,而且索引只是为了大数据量时优化查询的,你的表数据量不大,而且对于频繁插入、更新的表,不建议建立太多索引