Pomalé načítání kvůli připojení k databázi

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
mrtnzlml
Člen | 140
+
0
-

Ahoj, myslím si, že to jak postupuji je správně, ale přesto to sem napíšu, aspoň si to ověřím.
Napřed však problém. Pokud načítám homepage stránku, vše je rychlé, přesně tak, jak má být. Pokud však načítám nějakou podstránku, nastane rychlostní problém. Dočetl jsem se, že za to může PDO, už někomu také načítání trvalo přibližně 1300ms, ale vždy se to vyřešilo souborem hosts a 127.0.0.1-localhost. To ale není můj problém. Postupuji následovně:

<?php
class SitePresenter extends BasePresenter {
	private $faq;

	function __construct(\Model\Faq $faq) {
		$this->faq = $faq;
	}

	public function renderPodpora() {
		$this->template->faq = $this->faq->getAllFaq();
	}
	//...
?>

Tento presenter ovládá několik jednoduchých podstránek. Vzhledem k tomu, že budu potřebovat přistupovat k FAQ, předám si ho v konstruktoru. Model potom vypadá takto:

<?php
class Faq extends Nette\Object {
	private $database;

	public function __construct(Nette\Database\Connection $database) {
		$this->database = $database;
	}
?>

Konfiguráky jsou potom:

<?php
services:
	//...
	- Model\Faq
	//...
?>

a

<?php
nette:
	database:
		dsn: 'mysql:host=localhost;dbname=dbname'
		user: root
		password:
?>

Problém je v tom, že pokud generuji třeba stránku informací, tak se v debug panelu zobrazí „0 queries“ a musím čekat tich 1300ms, kvůli tomu konstruktoru. Pokud můj postup není vyloženě blbě, tak by mě zajímalo jak to ošéfovat, protože čekat na PDO takovou dobu je blbé, zvlášť když ho nepotřebuji. Daleko horší je, že musím čekat takovou dobu i když ho potřebuji, ale domnívám se, že ten čas je zbytečně velký. Minimálně když jsem nepoužíval Nette\Database, tak v tom problém nebyl…

Díky za pomoc!

vvoody
Člen | 910
+
0
-
<?php
nette:
    database:
        dsn: 'mysql:host=127.0.0.1;dbname=dbname'
        user: root
        password:
?>
mrtnzlml
Člen | 140
+
0
-

Jo tak v tomto byl problém. Možná jsem blbě pochopil ty příspěvky na fóru co jsem četl, ale myslel jsem si (to bude ten problém :-)), že se všude mluví o tom souboru hosts. Na tohle bych asi nepřišel, považoval jsem to za hotovou věc. Díky!