Имеем два скрипта на PHP4.2.1 для Mysql & Pgsql :
------ pgsql.php ------
<?
$t1=split(" ",microtime());
$db=pg_pconnect("dbname=mydb user=pgsql");
$t2=split(" ",microtime());
pg_exec("create table test1 (id serial, value int not null)");
pg_exec("CREATE INDEX index_value ON test1 (value)");
for($i=0; $i<200; $i++)
pg_exec("insert into test1 (value) values(".rand().")");
$t3=split(" ",microtime());
$q=pg_exec("select * from test1 order by value desc limit 20");
while($t=pg_fetch_row($q))
echo "$t[0] : $t[1]<br>";
pg_exec("drop table test1");
pg_exec("DROP SEQUENCE test1_id_seq");
$t4=split(" ",microtime());
$dt21=$t2[0]+$t2[1]-$t1[0]-$t1[1];
$dt32=$t3[0]+$t3[1]-$t2[0]-$t2[1];
$dt43=$t4[0]+$t4[1]-$t3[0]-$t3[1];
echo "( $dt21 : $dt32 : $dt43 )<br>";
?>
------ end of pgsql.php ------
------ mysql.php ------
<?
$t1=split(" ",microtime());
mysql_pconnect(":/tmp/mysql.sock","root","");
mysql_select_db("test");
$t2=split(" ",microtime());
mysql_query("create table test1 (id int not null auto_increment, unique(id), value int not null)");
mysql_query("create index index_value on test1 (value)");
for($i=0; $i<200; $i++)
mysql_query("insert into test1 (value) values(".rand().")");
$t3=split(" ",microtime());
$q=mysql_query("select * from test1 order by value desc limit 20");
while($t=mysql_fetch_row($q))
echo "$t[0] : $t[1]<br>";
mysql_query("drop table test1");
$t4=split(" ",microtime());
$dt21=$t2[0]+$t2[1]-$t1[0]-$t1[1];
$dt32=$t3[0]+$t3[1]-$t2[0]-$t2[1];
$dt43=$t4[0]+$t4[1]-$t3[0]-$t3[1];
echo "( $dt21 : $dt32 : $dt43 )<br>";
?>
------ end of mysql.php ------
Операционка: FreeBSD 4.5, postgresql-7.2.1, mysql-3.23.42, машинка
не самая мощная - PIII-500, 256, SCSI.
В данных примерах получается приблизительно следующее:
mysql pgsql
Время соединения PHP с базой 0.0008 0.0001
Create + Insert*200 0.2835 3.8534
Select 0.0227 0.0974
То есть Pgsql проигрывает не только по выборке, но и по добавлению записей. Как такое может быть ? В чем грабли ?
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум [mysql] Чудо (2010)
- Форум [MySQL] кодировка передаваемых в процедуру параметров. (2011)
- Форум Наследование в postresql не применимо для собственно наследования? (2014)
- Форум MySQL дефолтная сортировка (2010)
- Форум Как составить такой sql запрос? (2012)
- Форум mysql 4.1.11/ глюки с таблицами в юникоде. (2006)
- Форум SQL+PHP (2010)
- Форум Postgresql-7.4 & order by (2003)
- Форум [postrgesql] переупорядочить таблицу (2008)
- Форум Хранить историю изменений таблицы - другая таблица с ключом актуальной версии [SQL] (2022)