为什么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/
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步