Autor Zpráva
Kolemjdoucí
Profil *
Zdravím, měl bych dotaz ohledně rychlosti zápisu do souboru vs databáze - tedy, co je rychlejší. Samozřejmě za určitých předpokladů.

Je předpokládáno, že do média (databáze nebo soubor) budu zapisovat řádově stovky tisíc až miliony záznamů.

Budu využívat buď dvě tabulky nebo dva soubory - do jednoho budu ukládat url, na které probíhá vyhledávání určitého řetězce, do druhé tabulky/souboru budu ukládat nalezený řetězec.

Vzájemná provázanost je asi nulová, jen potřebuji mít ukazatel, který mi bude říkat, na které adrese jsem skončil vyhledávat.

A teď - co bude rychlejší? Zapisovat si to do databáze (přičemž tabulka s adresami nabude rozhodně šílených rozměrů, stejně jako tabulka s hledaným řetězcem)?

Z jistých důvodů nechci být konkrétní ohledně toho, co chci hledat a ukládat, ale bude to řetězec ne delší než 50 znaků. Děkuji za případné rady.
Alphard
Profil
Zápis na konec souboru je rychlý, ale jakákoliv analýza dat (kterou lze očekávat, jinak byste to asi nedělal) bude horší. Takže spíš bych to viděl na databázi, byť bude zápis (třeba při vytváření indexu) mírně pomalejší.
Kolemjdoucí
Profil *
Alphard:
Děkuji moc, to je to, co jsem potřeboval slyšet!
Tori
Profil
Kolemjdoucí:
Je předpokládáno, že do média (databáze nebo soubor) budu zapisovat řádově stovky tisíc až miliony záznamů.
Pokud je budete zapisovat po velkých dávkách (řádově min. tisíce záznamů), nejspíš by to urychlilo před insertem odstranit indexy a po něm znovu vytvořit.
peta
Profil
Tudle jsem videl, jak si stare Mrp ucetnictvi vytvari indexy pro miliardu zaznamu asi 1h :) To je ale jiny pripad, moderni veci to maji za par sekund, minut.
A kdyby se pouzila transakce? Ty nevytvareji indexy hromadne ale tez po jednom radku?

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: