Po vyhledání ve velké DB tabulce funkce fetchAll trvá dlouho
- jedlicka
- Člen | 70
Zdravím,
mám DB tabulku, která obsahuje hodně dat (2 miliony řádků) a potřebuji v ní najít záznamy podle více sloupců (hledaný text může být kdekoliv).
Provedu:
$warehouse_data = $this->database->table('warehouse_data')->where('kod RLIKE ? OR nazev RLIKE ? OR popis RLIKE ? OR vyrobni_kod RLIKE ?', 'text', 'text', 'text', 'text')->limit(50);
Dejme tomu, že výsledek obsahuje pouze jeden záznam.
Výsledek je celkem rychlý.
Pokud ovšem na výsledku provedu fechAll()
nebo
count('id')
, tak ten fetch trvá několik vteřin.
Čím to, když se převádí výsledek na pole pouze jednoho záznamu?
Případně nějaká rada?
PS: Pokud udělám v tom SQL LIKE pouze na jeden sloupec, tak je to rychlý.
Díky.
Martin