首页 >数据库 >mysql教程 >TokuDB 陷阱:慢 INFORMATION_SCHEMA TABLES_MySQL

TokuDB 陷阱:慢 INFORMATION_SCHEMA TABLES_MySQL

WBOY
WBOY原创
2016-05-31 08:46:281412浏览

我们在Percona Cloud Tools中广泛使用Percona Server TokuDB引擎,并通过该引擎获得真实的使用操作经验。所以我想分享我们遇到的一些发现,希望它可以对使用 TokuDB 的人有所帮助。

所以,我面临的一个问题是,当我在 TokuDB 中有数千个表时SELECT * FROM INFORMATION_SCHEMA.TABLES速度相当慢。有多慢?例如…

select * from information_schema.tables limit 1000;...1000 rows in set (18 min 31.93 sec)

select*frominformation_schema.tableslimit1000;

...

1000rowsinset(18min31.93sec)

select*frominformation_schema.tableslimit1000;

innodb_stats_on_metadata...

1000rowsinset(18min31.93sec)tokudb_empty_scan=disabled

这与 InnoDB 几年前面临的情况非常相似。 InnoDB 通过添加变量

解决了这个问题。tokudb_empty_scan=disabled

那么 TokuDB 会发生什么呢? Tokutek 的 Rich Prohaska 对此做出了解释:“Tokudb 对于表打开的开销太大。 TokuDB 在打开表时会对表进行计算,看看它是否为空。当“
select * from information_schema.tables limit 1000;...1000 rows in set (3 min 4.59 sec)
”时可以禁用此计算。 ”

select*frominformation_schema.tableslimit1000;

...

1000rowsinset(3min4.59sec)

所以让我们看看我们有什么

select*frominformation_schema.tableslimit1000;... 1000rowsinset(3min4.59sec)
令人印象深刻的改进,但仍然有点慢。 Tokutek 承诺在下一个 TokuDB 7.2 版本中修复并改进它。
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn