sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo calcular el tamaño de mi consulta MySQL?

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.