0

Workbench で 2 秒で実行されるクエリがあります。PHPファイルで実行すると約40秒!理由はありますか?

と思います。クエリ:

SELECT
        sum((1 - (Data.Data1.`Ggdata` / 100)) * (Data.Data1.`Datagg`)) As 'EUH'
    FROM
        Data.Data1
    INNER JOIN
        (Data.trans_UN, Data.input_Ex, Data.trans_M, Data.trans_Pa) ON (Data.trans_Une.Une_ID = Data.input_Data1.Une_ID
        AND Data.trans_Une.GN = Data.input_Ex.GN
        AND Data.input_Ex.EQ = Data.trans_M.EQ
        AND Data.input_Ex.GL = Data.trans_M.GL
        AND Data.input_Ex.MN = Data.trans_P.GP)
    WHERE
        Data.tGModel = 'Model1'
    GROUP BY Data.Data1.`Year` , Data.Data1.`Month`

PHP コード:

    $time_mysql_data = -microtime(true);    
    $sth1 = mysql_query("
    SELECT
        sum((1 - (Data.Data1.`Ggdata` / 100)) * (Data.Data1.`Datagg`)) As 'EUH'
    FROM
        Data.Data1
    INNER JOIN
        (Data.trans_UN, Data.input_Ex, Data.trans_M, Data.trans_Pa) ON (Data.trans_Une.Une_ID = Data.input_Data1.Une_ID
        AND Data.trans_Une.GN = Data.input_Ex.GN
        AND Data.input_Ex.EQ = Data.trans_M.EQ
        AND Data.input_Ex.GL = Data.trans_M.GL
        AND Data.input_Ex.MN = Data.trans_P.GP)
    WHERE
        Data.tGModel = 'Model1'
    GROUP BY Data.Data1.`Year` , Data.Data1.`Month`");
    $time_mysql_data += microtime(true);

    $time_php_data = -microtime(true);
    $rows1 = array();
    $rows1['name'] = 'EUH';
    while($r = mysql_fetch_array($sth1)) {
        $rows1['data'][] = $r['EUH'];
    };
    $time_php_data += microtime(true);

mysqli または PDO を使用する必要があることはわかっており、実際に使用しています。このコードはまだ更新されていません:)

ありがとう

4

0 に答える 0