Mysql
 sql >> Database >  >> RDS >> Mysql

Come calcolare la dimensione dalla mia query MySQL?

Se ho capito correttamente la tua domanda, ajreal ha già fornito una soluzione su questa domanda su StackOverflow . Citato:

Questo ti darà la dimensione della tua query in byte, divisa per 1024 per kilobyte e di nuovo per megabyte.

Modifica: Se stai comunque riportando l'intero set di risultati su PHP e vuoi conoscerne le dimensioni, puoi calcolarlo in PHP usando qualcosa del genere:

<?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

Questo può o non può essere accettabile per te a seconda del tuo caso d'uso. Se stai cercando di misurare i byte fisici sul cavo, probabilmente non sarà abbastanza accurato.