Tabulky s prefixem nebo sloupec pro definování? rubrika: Databáze: SQL
2
zapotocnylubos
položil/-a 21.6.2017
Ahoj,
když budu mít několik subdomén a pro každou bych chtěl separátní údaje, tak z hlediska návrhu je lepší používát prefixy a mít spoustu tabulek, nebo mít sloupec subdomain_id a pak filtrovat where subdomain_id = 2??
Díky moc
odkaz
6
Žížala
odpověděl/-a 21.6.2017
Rozhodoval bych se podle
- Kolik bude záznamů v tabulkách? Tisíce? Statisíce? Miliony?
- Budu potřebovat záznamy z více domén naráz? Pokud ano, jak velká může být výsledná množina?
- Budou se množit subdomény jako houby po dešti nebo jich bude pár?
- Budu potřebovat nějaký systém oprávnění pro přístup k jednotlivým subdoménám?
Tohle jsou základní otázky a bez podrobností Vám asi nikdo rozumně neporadí. Ale obecně, pokud bude záznamů a subdomén málo, proč si ještě přidělávat starosti s vytvářením nových tabulek.
Komentáře
- zapotocnylubos : No tak ty subdoménu budou v řádech desítek, a jinak záznamy v nějakých tabulkách k jednotlivým subdomenam max v radu stovek - možná někdy pak tisíců — 21.6.2017
- Žížala : V tomto případě, na co zvláštní tabulky? — 21.6.2017
- zapotocnylubos : Tak ja nevim, jestli to nejak ovlivní, protože jsem nikdy neměl takhle velkou Db. Nevim jak mysql zvládá treba selekty z tabulky, Kde je celkově treba 150k záznamu — 21.6.2017
- Žížala : Heh, to není žádná velká DB. A proč mySQl a ne např. PostgreSQl? Ta s těmito počty nemá žádné problémy. — 21.6.2017
- zapotocnylubos : no hosting mám u wedosu, a ty u webhostingu podporují jenom mysql. o koupi vps zatím neuvažuji, protože by se to ještě nevyplatilo. — 21.6.2017
- rs : Pro tak mala cisla opravdu nema smysl splitovat to do vic tabulek bylo by s tim vic prace nez uzitku. Jenom nezapomen udelat spravne indexy. V tomto pripade to bude vzdy slozeny index kde prvni slozkou bude ID_zakaznika. To by melo s prehledem stacit, stovky tisic zaznamu pro DB neni nic pokud spravne indexujes. Jeste kdyby ses dostal do uzkych muzes nasadit partitioning a podle ID_zakaznika a zacit resit clustery ale to nebude tvuj pripad (respektive kdyz uz resis veci tohodle rozsahu tak mas vetsinou i dost zakazniku aby sis mohl najmout nekoho kdo ti s tim pomuze) Obecne problemu ktery resis se rika multi-tenant architecture kdybys chtel vic pohledat. — 21.6.2017
- rs : A jeste bych se jednou zamyslel nad pouzitim MySQL taky bych doporucil spis postgre je o generace dal umozni ti nad problemem premyslet jinak napriklad muzes pouzit view a row level security proto aby si zakaznici nemohli vzajemne cist data, coz je zrovna v tomto pripade celkem uzitecne. U MySQL budes muset vzdycky myslet na to abys do dotazu pridal tu spravnou podminku, jednou zapomenes a prusvich je na svete. S charakteru dotazu co tu pokladas tusim ze jsi teprve na zacatku sve programatorske cesty a u PostgreSQL budes moct delat veci "spravne" u MySQL budes muset casto hledat ruzne vyhybky — 21.6.2017
- zapotocnylubos : a kdybych to tedy zkusil přes postgre, tak jak to secure propojit na webhosting? (wedos nepodporuje nic jiného new mysql). a znova investovat do vps se mi moc nechce. možná jestli znáte nějaký hostig, kde by se vyplatilo, že přecházím (např. rok zdarma nebo tak) který by podporoval postgre. Jo a ještě by to chtělo myslet na security, wedos už je dobře zaopatřený a v základech se dá spolehnout. — 21.6.2017
- dominios : podla mna si velmi upaty na wedos; wedos nieje jedina spolocnost a kodit nieco len s ohladom na to kde to nakoniec bude umiestnene nieje vzdy stastne riesenie - velmi lahko sa moze stat ze ti wedos prestane z akychkolvek dovodov vyhovovat (nove poziadavky, cena, hocico...) a narazis na problem ze premigrovat to nebude tak lahke... vzdy je lepsie si spisat co vlastne ides robit, aka technologia sa najlepsie hodi na tvoje riesenie a az potom si vyberat hosting/server kde to bude realne bezat. Ono ak robis co i len trochu narocnejsiu vec, tak skoncis pri vlastnom (minimalne) virtualnom servery na ktorom si aj tak urobis co budes chciet a ci tam budes mat mysql, postgre, php, javu alebo ruby, tak bude to len na tebe. Pokial ide len a len o peniaze a potrebujes velmi vela setrit, tak do takeho projektu jednoducho nechod, pretoze budes velmi casto narazat na rozne obmedzenia a viac budes riesit tie ako aplikaciu / biznis ako taky. Ale to je len moj nazor, mozno sa mylim :) — 21.6.2017
- Vašek Ch. : "Nevim jak mysql zvládá treba selekty z tabulky, Kde je celkově treba 150k záznamu" -- děláme selekty z tabulek, kde je těch záznamů třeba deset milionů. Když máš dobré indexy, není to problém. — 22.6.2017
Pro zobrazení všech 3 odpovědí se prosím přihlaste:
Nebo se přihlaste jménem a heslem:
Komentáře