Portál AbcLinuxu, 10. května 2025 00:58
<?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.