昨天,我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/
时间: 2024-10-25 16:08:08