我有一个 MySQL 表,其中正好有 100 万行虚拟数据用于测试目的。但是,当我单击表格的“浏览”选项时,这就是我得到的:
注意它是怎么说只有 994,622 条记录的,而我知道还有更多。
有趣的是,如果我执行搜索,我仍然可以检索到那些不可见的记录。例如,PHONE
字段填充了从 00000000 到 01000000 递增的数字;因此,包含值 00999999 的行应该存在。它确实:
但是,根据“浏览”屏幕, View 中的最后一行的值为“00994625”。这是显示最后一条记录的屏幕截图;请注意没有任何“下一个”箭头/链接:
我还没有尝试导出,所以不确定是否所有记录都会导出。我设法通过将 $cfg['MaxExactCount']
添加到我的 config.inc.php 文件来解决这个问题。但是,我担心这是否可取。我预计我的表一旦上线就会无限增长,最终可能会增加数百万行。如果我只是为 $cfg['MaxExactCount']
分配一个非常大的值(比如 10000000000)会好吗?有哪些陷阱以及如何避免它们?此外,共享托管服务提供商通常是否允许访问者更改此特定文件?
最佳答案
是的,您已经正确地诊断出了问题,至少看起来是这样。正如您可能在 documentation 中看到的那样, MaxExactCount 指令基本上用于配置 phpMyAdmin 在什么时候使用更快但不精确的行计数。
更改它是否是个好主意完全取决于您。问题将基于性能并取决于您的情况(表结构、服务器规范和负载等),但值得尝试看看会发生什么。
如果您能够修改config.inc.php
,那就去做吧;一些主机通过将 phpMyAdmin 文件夹的副本放在您的 Web 根目录中来提供 phpMyAdmin(在这种情况下,您将能够直接修改 config.inc.php),其他主机使用一个位于中心的副本并配置 Web 服务器以使其显示在您的域下(在这种情况下,您可能甚至无法找到 phpMyAdmin 文件夹,更不用说修改它了)。如果他们不给你访问权限,你可以很容易地 install your own将 phpMyAdmin 实例添加到您自己的 Web 根目录,为该文件夹提供与您的提供商使用的名称不同的名称,以免发生冲突,并进行您想要的任何修改。
关于mysql - PHPMyAdmin 问题 : Is it advisable to assign a very large value to `$cfg[' MaxExactCount']`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30694910/