Si entiendo bien tu pregunta, ajreal ya proporcionó una solución en esta pregunta de StackOverflow . Citado:
Esto le dará el tamaño de su consulta en bytes, divida por 1024 para kilobytes y nuevamente para megabytes.
Editar: Si está devolviendo el conjunto de resultados completo a PHP de todos modos y quiere saber su tamaño, puede calcularlo en PHP usando algo como esto:
<?php
$data = [
[
'item' => 'Apple',
'type' => 'fruit',
'in_stock' => true
],
[
'item' => 'Biscuits',
'type' => 'confectionery',
'in_stock' => false
],
[
'item' => 'Milk',
'type' => 'dairy',
'in_stock' => true
],
];
function get_array_size(&$array)
{
$size = 0;
foreach ($array as $key => $value) {
if (is_array($value)) {
$size += get_array_size($value);
} else if (is_string($value)) {
$size += strlen($value);
} else if (is_bool($value)) {
$size += 1;
} /* else if ( some other type ) {
} */
}
return $size;
}
echo get_array_size($data); // Outputs 43
Esto puede o no ser aceptable para usted dependiendo de su caso de uso. Si está buscando medir los bytes físicos en el cable, probablemente esto no sea lo suficientemente preciso.