我正在使用一个包含大约 80,000 个表(是的,八万个)的大型数据库,并且 phpMyAdmin 需要一分钟多的时间来加载。我认为该问题与 phpMyAdmin 尝试分页和加载所有表有关,这严重影响了性能。
我已经尝试过以下解决方案但没有成功:
$cfg['ShowDatabasesNavigationAsTree'] = false;
$cfg['NavigationDisplayServers'] = false;
$cfg['MaxNavigationItems'] = 0;
$cfg['MaxExactCount'] = 0;
$cfg['MaxExactCountViews'] = 0;
$cfg['Servers'][$i]['only_db'] = array();
寻找解决方案
编辑:我正在使用最新的 phpMyAdmin 版本。
由于 phpMyAdmin 加载和分页表的方式,处理 80,000 个表可能会非常慢。您可以尝试以下一些提高性能的策略:
phpMyAdmin 缓存表元数据以加快后续加载速度。增加此缓存可能会有所帮助:
$cfg['QueryCacheType'] = 'file'; // Cache queries to reduce database load
$cfg['QueryCacheTTL'] = 3600; // Cache time-to-live in seconds (1 hour)
phpMyAdmin 获取表统计信息(如行数),这可能会减慢速度。您可以禁用它:
$cfg['CountTables'] = false; // Disable table counting
MaxTableList
选项:限制导航面板中一次显示的表格数量:
$cfg['MaxTableList'] = 1000; // Only display 1000 tables at a time
您可以尝试调整一些设置以防止它一次加载所有表格:
$cfg['NavigationTreeEnableGrouping'] = false; // Disable grouping for faster loading
$cfg['MaxNavigationItems'] = 100; // Limit items shown in the navigation panel
phpMyAdmin 由于其开销可能不适合管理如此大量的表。对于特定任务,请考虑使用 MySQL 命令行或 MySQL Workbench 等工具以获得更好的性能。
通过组合这些设置,您应该会看到加载时间有所改善。如果性能仍然是一个问题,使用替代数据库管理工具可能是最好的解决方案。