Portál AbcLinuxu, 12. listopadu 2025 23:22
<?php
// Test 1 - DB:
// CREATE TABLE test (id SERIAL NOT NULL, name VARCHAR NOT NULL, PRIMARY KEY (id));
// INSERT INTO test (id, name) VALUES (1, 'somarina');
$repeat=10000;
$begin=microtime(true);
$con=pg_connect("host=localhost user=araxon dbname=araxon");
for ($i=0;$i<$repeat;$i++) {
$res=pg_query($con,"SELECT name FROM test WHERE id=1");
$row=pg_fetch_assoc($res);
$val=$row["name"];
pg_free_result($res);
}
pg_close($con);
$end=microtime(true);
echo sprintf("DB done in %.3f s<br />\n",$end-$begin);
// Test 2 - filesystem:
// echo "somarina" > test
$begin=microtime(true);
for ($i=0;$i<$repeat;$i++) {
$val=file_get_contents("test");
}
$end=microtime(true);
echo sprintf("Filesystem done in %.3f s<br />\n",$end-$begin);
?>
Výsledky:
DB done in 8.246 s Filesystem done in 0.426 sA to je v tej databáze jeden jediný záznam a ešte sa vyberá triviálnym dotazom podľa indexu. Ani tak to nie je rýchlejšie, než prečítanie lokálneho súboru. Takže rozhodne by som netvrdil, že súbory sú pasé a má sa na všetko používať databáza. Bežne robíme to, že zostavu tvorenú zložitejšími SELECT-ami generujeme cron-om do súboru a klientom sa to potom zobrazuje len prostým prečítaním.
Takže rozhodne by som netvrdil, že súbory sú pasé a má sa na všetko používať databáza.Nic takového jsem netvrdil, nevím, kde jste na to přišel.
Bežne robíme to, že zostavu tvorenú zložitejšími SELECT-ami generujeme cron-om do súboru a klientom sa to potom zobrazuje len prostým prečítaním.Pokud nad těmi daty nepotřebujete pracovat, je to možnost. Opět ale naprosto mimo vzhledem k zadání.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.