Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment calculer la taille à partir de ma requête MySQL ?

Si j'ai bien compris votre question, ajreal a déjà fourni une solution sur cette question StackOverflow . Citation :

Cela vous donnera la taille de votre requête en octets, divisez par 1024 pour les kilo-octets et de nouveau pour les mégaoctets.

Modifier : Si vous récupérez de toute façon le jeu de résultats complet vers PHP et que vous voulez en connaître la taille, vous pouvez le calculer en PHP en utilisant quelque chose comme ceci :

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

Cela peut ou non être acceptable pour vous selon votre cas d'utilisation. Si vous cherchez à mesurer les octets physiques sur le câble, cela ne sera probablement pas assez précis.