为什么drop table的时候要在checking permissions花很长时间?

昨天,我drop一个表的时候在checking permissions花了20s+,这个时间花在哪里了呢?经常查找发现我的配置文件innodb_file_per_table=1的,innodb需要遍历LRU链表,并且丢弃属于这个表的表空间里面的页。如果innodb buffer pool很大的话,需要花费很长时间,并且当执行这个动作的时候table_cache的锁是不能被其他query语句持有的。

参考资料:

https://www.percona.com/blog/2011/02/03/performance-problem-with-innodb-and-drop-table/

https://www.percona.com/blog/2011/04/20/drop-table-performance/

上一篇:MySQL事务以及隔离级别


下一篇:Esper系列(十一)NamedWindow语法Merge、Queries、Indexing、Dropping