我偶然发现了一些关于 PHP 的有趣的记忆事情考虑这段代码(sql-result 大约是 18000 行)
echo memory_get_usage() . PHP_EOL;
echo 'Querying mysql' . PHP_EOL;
$result = $wpdb->get_results($sql);
echo memory_get_usage() . PHP_EOL;
echo PHP_EOL;
echo 'Size of result set' . PHP_EOL;
echo strlen(serialize($result)) . PHP_EOL;
输出:
33309232
Querying mysql
86203976
Size of result set
6838278
为什么内存使用高峰会这样?是不是有点奇怪?
也许最重要的问题是,我能做些什么来降低使用率吗?