Nette Helpers loadFromFile – velmi pomalé při načítání definic tabulek

DefenestrationPraha
Člen | 120
+
0
-

Používám funkci Nette\Helpers::loadFromFile() k natahování SQL příkazů pro

  1. samotnou definici prázdných tabulek (CREATE TABLE IF NOT EXISTS),
  2. následně pro jejich zaplnění daty.

A narazil jsem na zajímavou věc. Akce b), kdy do již existujících tabulek natahuji data, je opravdu extrémně rychlá, přesně jak říká dokumentace (Import SQL dump from file – extremely fast.)

Zato akce a) je naprosto fantasticky pomalá, a tím myslím třeba o tři řády pomalejší, i když těch tabulek je celkem málo. Toto je můj typický výstup, když jsem začal měřit časy jednotlivých operací v rámci CLI skriptu a vypisovat je pomocí echo().

Loaded 38 SQL commands from C:\Projekty\Kraken\trunk\Base\sql\kraken.mysql.sql in 11.46 seconds.
Loaded 43 SQL commands from C:\Projekty\Kraken\trunk\Control\sql\control.mysql.sql in 30.699 seconds.
Data path found as C:\Projekty\Kraken\trunk\Control\test\data\default
Loaded 66 SQL commands from C:\Projekty\Kraken\trunk\Control\test\data\default\base.data.sql in 0.064 seconds.
Loaded 82 SQL commands from C:\Projekty\Kraken\trunk\Control\test\data\default\control.data.sql in 0.035 seconds.
mystik
Člen | 304
+
+1
-

Neni to spis problem databaze? Nebo kdyz ty SQL spustis primo tak jedou rychle?