Se entendi sua pergunta corretamente, ajreal já forneceu uma solução em esta pergunta do StackOverflow . Citado:
Isso lhe dará o tamanho da sua consulta em bytes, divida por 1024 para kilobytes e novamente para megabytes.
Editar: Se você está puxando o resultado completo de volta para o PHP de qualquer maneira e quer saber o tamanho dele, você pode calculá-lo em PHP usando algo assim:
<?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
Isso pode ou não ser aceitável para você, dependendo do seu caso de uso. Se você deseja medir os bytes físicos no fio, isso provavelmente não será preciso o suficiente.