Zadejte hledaný výraz...

Prohledávání Tabulky o několika milionech řádků

Turekmn
verified
rating uzivatele
(1 hodnocení)
17. 11. 2014 21:33:41
Zadravím,
potřeboval bych poradit s MySQL, abych rovnou nezačal blbě.
(zatím pracuji jen s prvními dvěma sloupci a něco přez milionem položek)
Budu mít tabulku o několika milionech položkách.
Položky se dělí do cca 100 kategorií.
Tabulka má 5 sloupců.
1 sloupec - název položky - do 100 znaků
2 sloupec - kategorie - do 5 znaků (ta by se dala převést na čísla, pokud by to pomohlo)
3 sloupec - popis do 255 znaků
4 sloupec - popis do 1000 znaků
5 sloupec - popis do 1000 znaků
Prohledávat se bude primárně v závislosti na kategorii. Z hlediska rychlosti, je lepší abych udělal samostatné tabulky pro kategorie, nebo abych omezil výběr z celkové tabulky podle kategorie (druhého sloupce)?
Nebo je to jedno?
Jsem takový bastlíř, co si jen hraje. Tak prosím vysvětlit jak pro blbýho. Díky :)
17. 11. 2014 21:33:41
https://webtrh.cz/diskuse/prohledavani-tabulky-o-nekolika-milionech-radku/#reply1069341
Pavel Janků
verified
rating uzivatele
(93 hodnocení)
17. 11. 2014 21:58:09
Napsal Turekmn;1141571
Zadravím,
potřeboval bych poradit s MySQL, abych rovnou nezačal blbě.
(zatím pracuji jen s prvními dvěma sloupci a něco přez milionem položek)
Budu mít tabulku o několika milionech položkách.
Položky se dělí do cca 100 kategorií.
Tabulka má 5 sloupců.
1 sloupec - název položky - do 100 znaků
2 sloupec - kategorie - do 5 znaků (ta by se dala převést na čísla, pokud by to pomohlo)
3 sloupec - popis do 255 znaků
4 sloupec - popis do 1000 znaků
5 sloupec - popis do 1000 znaků
Prohledávat se bude primárně v závislosti na kategorii. Z hlediska rychlosti, je lepší abych udělal samostatné tabulky pro kategorie, nebo abych omezil výběr z celkové tabulky podle kategorie (druhého sloupce)?
Nebo je to jedno?
Jsem takový bastlíř, co si jen hraje. Tak prosím vysvětlit jak pro blbýho. Díky :)
Kolik zvažuješ přístupů na stránku? Opravdu potřebuješ relační databáze? Jaké máš zázemí pro hosting?
Pokud očekáváš miliony položek a řešíš rychlost, vyzkoušej některou z No SQL databází. Osobně jsem si oblíbil Cassandru (od Apache :-)) a CouchBase. Určitě část dat nebo rovnou všechna by se dalo ukládat do NoSQL databází...
Jinak zpátky k dotazu, záleží na tom, jaké budeš dělat dotazy na DB a zda si definuješ třeba Views, které také trochu pomohou. Takže spíše dělat výběry dle potřeby. V jedné tabulce to ničemu nevadí.
17. 11. 2014 21:58:09
https://webtrh.cz/diskuse/prohledavani-tabulky-o-nekolika-milionech-radku/#reply1069340
qwertr
verified
rating uzivatele
(7 hodnocení)
17. 11. 2014 22:55:13
Co je to prehladavat ? Budes nato pustat like alebo to bude presna zhoda. Ako vyzera podmienka pomocou, ktorej to budes hladat. Maz na tom stlpci index ? Ma MySQL nieco ako clustrovany index u MS SQL a da sa vytvorit. Ake stlpce budes tahat. Pozna MySQL nieco taka ako MS SQL index s include column ?
17. 11. 2014 22:55:13
https://webtrh.cz/diskuse/prohledavani-tabulky-o-nekolika-milionech-radku/#reply1069339
Turekmn
verified
rating uzivatele
(1 hodnocení)
18. 11. 2014 12:55:31
Díky za odpovědi. Upřesním
relační vztahy nepotřebuji (pokud správně chápu co je tím myšleno).
Každé vyhledávání bude vždy omezeno parametrem podle sloupce 2. Tam bude přesná shoda.
Prohledávám pomocí LIKE '%vyhledavanyvyraz%' - tzn. část výrazu
Dotazů bude málo, tak stovky denně. Ale když to bude prohledávat část výrazu ve třech sloupcích o milionech řádků, tak už to bude chvíli trvat. Bál jsem se tedy, jak dlouho se bude příkaz vykonávat.
Pokud rozdělení do více tabulek nepomůže, tak to nechám v jedné Tabulce.
18. 11. 2014 12:55:31
https://webtrh.cz/diskuse/prohledavani-tabulky-o-nekolika-milionech-radku/#reply1069338
Pro odpověď se přihlašte.
Přihlásit