sql >> Databasteknik >  >> RDS >> Mysql

Hur beräknar man storlek från min MySQL-fråga?

Om jag förstår din fråga rätt, ajreal har redan erbjudit en lösning denna StackOverflow-fråga . Citerat:

Detta ger dig storleken på din fråga i byte, dividera med 1024 för kilobyte och igen för megabyte.

Redigera: Om du drar tillbaka hela resultatet till PHP ändå och vill veta storleken på det, kan du beräkna det i PHP med något så här:

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

Detta kan eller kanske inte är acceptabelt för dig beroende på ditt användningsfall. Om du funderar på att mäta de fysiska byten på tråden kommer detta förmodligen inte att vara tillräckligt exakt.




  1. Så här använder du guiden Crosstab Query i Access

  2. Laravel migration primära (eller nyckel) Identifierarens namn är för långt

  3. NOW() Exempel – MySQL

  4. Hur kan jag optimera den här frågan, tar mer än en minut att köra