小草blog : http://homeway.me/

The artile is about a php module for mysql
It likes codeigniter,but has some other feature.
And then, I test It`s speed.
Fork me here: https://github.com/grasses/JueQuery



0x01.System Environment

- system
MAC os
Software  OS X 10.9.4 (13E28)
Processor  2.4 GHz Intel Core i5
Memory  8 GB 1600 MHz DDR3
250GB SSD

- environment
xampp 1.8.3
Apache/2.4.9
PHP Version 5.5.11
mysqlnd 5.0.11-dev - 20120503 - (mysql is empty)

0x02.Test Insert

Code is here

$jue = new JueQuery();

for($i=0; $i<100; $i++){

    $insert_data = array(
        'email'=>'xiaocao.grasses@gmail.com', 
        'username'=>'http://homeway.me/', 
        "password"=>md5( rand().time() ),
    );

    $insert_test = $jue->insert_where('user', $insert_data );
}

First test result

100 Loop And 100 Fetch Test Insert

Second test result

100 Loop And 100 Fetch Test Insert

Third test result

100 Loop And 100 Fetch Test Insert

And then mysql is like this:

100 Loop And 100 Fetch Test Insert




0x03.Select a data does not exist in 30000 pieces data

Code is here

for($i=0; $i<100; $i++){
    $single = true;
    $where = array(
        'username'=>'http://homeway.me/', 
        'password'=>'6f27e19bbdd4f290038149344fcc5ffd',
    );
    $select_test = $jue->select('id|username|email')->order_by('id', 'ASC')->get_where('user', $where,$single);
    $jue->debug('Select Test', $select_test);
}

Test result is here:

100 Loop And 100 Fetch Test Select




0x04.Select a data exist in 30000 pieces data

Test result is here:

100 Loop And 100 Fetch Test Select




Ox05.Select a data exist in 30000 pieces data using normal function without class

Code is here

for ($i=1; $i < 100 ; $i++) { 
    $select = "SELECT * FROM `user` WHERE `password` = 'd29a75d265e91f0de0342443eb2731b5'";
    $select_result = mysql_query($select);
}

Test result is here:

100 Loop And 100 Fetch Test Select

From result we know that, run class and function, only using 10 seconds in 10000 fetch, so class is efficiention




0x06.Update 30000 in 30000 pieces of data

Code is here:

for($i=0; $i<100; $i++){
    $where = array(
        'id'=>$i,
    );

    $set = array(
        'username'=>'http://homeway.me/',
        'email'=>'xiaocao.grasses@gmail.com',
    );
    $update_test = $jue->update_where('user', $where, $set);
}

Test result is here:

100 Loop And 100 Fetch Test Update




Please indicate the source:http://homeway.me/2014/09/19/PHP-Module-Mysql/


-By xiaocao

2014-09-19 19:16:45


夏日小草
2.2k 声望139 粉丝

[链接]