一个 SQL 执行的很慢
一个 SQL 执行的很慢,我们要分两种情况讨论:
大多数情况下很正常,偶尔很慢
数据库在刷新脏页,例如 redo log 写满了需要同步到磁盘。
当我们要往数据库插入一条数据、或者要更新一条数据的时候,我们知道数据库会在内存中把对应字段的数据更新了,但是更新之后,这些更新的字段并不会马上同步持久化到磁盘中去,而是把这些更新的记录写入到 redo log 日记中去,等到空闲的时候,在通过 redo log 里的日记把最新的数据同步到磁盘中去。写redo log是顺序io
执行的时候,遇到锁,如表锁、行锁。
这条 SQL 语句一直执行的很慢
没有用上索引:例如该字段没有索引;由于对字段进行运算、函数操作导致无法用索引。
数据库选错了索引。
参考链接:
最后更新于