sql >> Database >  >> RDS >> Mysql

Hoe bereken ik de grootte van mijn query MySQL?

Als ik je vraag goed begrijp, ajreal heeft al een oplossing geboden op deze StackOverflow-vraag . Geciteerd:

Dit geeft je de grootte van je zoekopdracht in bytes, gedeeld door 1024 voor kilobytes en nogmaals voor megabytes.

Bewerken: Als je de volledige resultatenset toch terugtrekt naar PHP en je wilt de grootte ervan weten, dan zou je het in PHP kunnen berekenen met zoiets als dit:

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

Dit kan al dan niet acceptabel voor u zijn, afhankelijk van uw gebruikssituatie. Als u de fysieke bytes op de draad wilt meten, is dit waarschijnlijk niet nauwkeurig genoeg.




  1. Heeft de volgorde van kolommen in een select-instructie invloed op de querysnelheid?

  2. hoe maak je een opgeslagen procedure in orakel die een reeks parameters accepteert?

  3. 3 manieren om de sortering voor uw verbinding in MariaDB te tonen

  4. Aangepaste datum-/tijdnotatie in SQL Server