Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie berechne ich die Größe aus meiner MySQL-Abfrage?

Wenn ich Ihre Frage richtig verstehe, ajreal hat bereits eine Lösung bereitgestellt auf diese StackOverflow-Frage . Zitiert:

Dadurch erhalten Sie die Größe Ihrer Abfrage in Byte, geteilt durch 1024 für Kilobyte und erneut für Megabyte.

Bearbeiten: Wenn Sie die vollständige Ergebnismenge trotzdem zurück zu PHP ziehen und deren Größe wissen möchten, können Sie sie in PHP berechnen, indem Sie so etwas verwenden:

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

Dies kann je nach Anwendungsfall für Sie akzeptabel sein oder nicht. Wenn Sie die physischen Bytes auf dem Kabel messen möchten, ist dies wahrscheinlich nicht genau genug.