Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como calcular o tamanho da minha consulta MySQL?


Se entendi sua pergunta corretamente, ajrealforneceu 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.