#1 2010.05.22 15:41

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

MySQL мы MySQLi

Вот говорят MySQLi,PDO...
Провел я небольшой тест и заметил что никакой особо разницы и нет...
По крайне мере в генерации...
Вот 1000 раз выводит запись из БД http://sangen.ru/test2/
----------
Вот код (может я че нетак делаю):

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<table border="1px">
<tr>
<td>
<center><h3> MySQLi </h3></centr>
<?
 
/////// MySQLi ///////
 
$start_array = explode(" ",microtime());
$start_time = $start_array['1'] + $start_array['0'];
 
$mysqli = new mysqli('localhost', 'datebase', 'datebase', 'datebase');
$mysqli -> query("SET NAMES 'utf8'");
 
 
for($i=1;$i<501;$i++){
$result = $mysqli -> query('SELECT * FROM `anecdote` LIMIT 1') -> fetch_assoc();
echo $i.') '.$result['text_anecdot'].'<br /><br />';
}
 
 
$end_time = microtime(); $end_array = explode(" ",$end_time);
echo round((($end_array['1'] + $end_array['0']) - $start_time),4).'сек.<hr />';
?>
</td>
<td>
<center><h3> MySQL </h3></centr>
<?
/////// MySQL ///////
$start_array2 = explode(" ",microtime());
$start_time2 = $start_array2['1'] + $start_array2['0'];
 
mysql_connect('localhost', 'datebase', 'datebase');
mysql_select_db('datebase'); mysql_query('SET NAMES utf8');
 
 
for($i=1;$i<501;$i++){
$result = mysql_fetch_assoc(mysql_query("SELECT * FROM `anecdote` LIMIT 1"));
echo $i.') '.$result['text_anecdot'].'<br /><br />';
}
 
$end_time2 = microtime(); $end_array2 = explode(" ",$end_time2);
echo round((($end_array2['1'] + $end_array2['0']) - $start_time2),4).'сек.<hr />';
 
?>
</td>
<td>
<center><h3> PDO </h3></centr>
<?
/////// PDO ///////
$start_array3 = explode(" ",microtime());
$start_time3 = $start_array3['1'] + $start_array3['0'];
 
$pdo = new PDO('mysql:host=localhost;dbname=datebase', 'datebase', 'datebase');
$pdo->query("SET NAMES 'utf8'");
 
for($i=1;$i<501;$i++){
$result = $pdo->query('SELECT * FROM `anecdote` LIMIT 1')->fetch(PDO::FETCH_ASSOC);
echo $i.') '.$result['text_anecdot'].'<br /><br />';
}
 
$end_time3 = microtime(); $end_array3 = explode(" ",$end_time3);
echo round((($end_array3['1'] + $end_array3['0']) - $start_time3),4).'сек.<hr />';
 
?>
</td>
</tr>
</table>

Добавлено спустя   3 минуты  32 секунды:
Ой! в заголовке темы ошибка  MySQL vs MySQLi

Отредактировано Nu3oN (2010.05.22 16:31)


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#2 2010.05.23 12:11

Akdmeh
Участник
Откуда: Киев и рядом;)
Зарегистрирован: 2008.11.30
Сообщений: 257
Карма: 9
Профиль Веб-сайт

Re: MySQL мы MySQLi

есть понятие как кэш базы данных.
Возвратив один раз результат, на следующие вертается просто кэш - поэтому разницы и нет.


Желание стать программистом из-за того, что вам нравляться компьютерные игры-это все равно, что желание стать гинекологом из-за того, что вам нравиться сексwink

Неактивен

#3 2010.05.23 18:21

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: MySQL мы MySQLi

Да не только в скорости дело. MySQLi и PDO - это объектно ориентированные прослойки, что позволяет удобнее писать на них большие приложения, в случае с нативными MySQL функциями пришлось бы тратить время на написание классов абстракции этих функций. + PDO позволяет переключаться между разными СУБД. Т.е. не MySQL единым. Еще не совсем понятно что оракл с ним сделает. PDO позволит, в случае чего, безболезненно переключиться на PostgreSQL

Неактивен

#4 2010.05.24 08:50

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: MySQL мы MySQLi

Gemorroj написал:

Да не только в скорости дело. MySQLi и PDO - это объектно ориентированные прослойки, что позволяет удобнее писать на них большие приложения, в случае с нативными MySQL функциями пришлось бы тратить время на написание классов абстракции этих функций. + PDO позволяет переключаться между разными СУБД. Т.е. не MySQL единым. Еще не совсем понятно что оракл с ним сделает. PDO позволит, в случае чего, безболезненно переключиться на PostgreSQL

Понятно... я в это просто особо никогда не вникал, слышал только что он быстрее чем обычная процедурка и все... вот и решил потестить! п.с mysqli кстати действительно "удобней" уже начал переписывать свою cms  жаль что раньше не заюзал, теперь много переписывать...
Добавлено спустя   4 минуты  14 секунд:
кстати! кто знает где можно почитать про "Встроеные в php"  классы? в гугле искал, но мне выдает не то что надо!

Отредактировано Nu3oN (2010.05.24 08:57)


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#5 2010.05.24 12:29

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: MySQL мы MySQLi

в мануале?) какие именно классы интересуют? их много.
http://php.net/spl
http://php.net/manual/en/class.datetime.php

Неактивен

#6 2010.05.25 08:09

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: MySQL мы MySQLi

Да все возможные smile п.с есть что неть на русском? а то с телефона переводить не очень smile


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

Дополнительно

forum.wapinet.ru

PunBB Mod v0.6.2
0.009 s