【发布时间】:2016-11-27 21:51:29
【问题描述】:
我试图了解为什么单个 PDO 结果的内存使用率如此之高。以下是有关查询/结果的一些注意事项:
- 我正在从单个表中提取单个
VARCHAR(6)列 - 结果少于 30K 行
- 在 PHP 中获取此结果使用 ~12MB 内存(来源:
memory_get_usage) - 如果我
json_encode将结果转储到文件中,则实际数据(文本形式)只有 ~1MB - 使用 PHP7、MySQL 5.7,部署在 Ubuntu 14.04 上。
我的问题是,11MB 的膨胀究竟是从哪里来的?如果文本形式的实际数据只有 1MB 左右,那么 11MB 似乎只是在 PHP 中解析数据的开销很大。是否有一个原因?我错过了什么吗?
编辑:
为了澄清,我正在寻找关于为什么存在膨胀的技术解释,而不是解决该问题的方法。
【问题讨论】:
标签: php mysql arrays memory pdo