Autor Zpráva
Návštěvník
Profil *
Mám jednu tabulku (pojmenoval jsem ji total_posts) původně pro monitorování počtů vzkazy, která původně monitorovala počet vzkazů mezi dvěma uživateli.

Byla navržena přibližně takto:
source_user - int(10) - moje id
target_user - int(10) - id uživatele se kterým si začal psát
new_msg - small (5) - nepřečtených vzkazů od daného uživatele
total_msg - mediumint (8) - celkový počet vzkazů
status - tinyint (3) defaultně 7

Když jeden napíše někomu první vzkaz, tak se vytvoří dva řádky, jeden pro mě a jeden pro něj. Přidal jsem tam ještě nějaké statistiky týkající se počtu slov, znaků a vět - small (5) -> kolik jsem toho napsal danému uživatelovi . Po odeslání určitého počtu zpráv se nastaví status 8.

První má otázka se týká rozměru tabulky. Nemám s tím zkušenosti a tak zkrátka nevím jakých rozměrů taková tabulka může narůst. Dejme tomu, že tam bude 400 uživatelů (a neaktivní uživatele tak po roce - roce a půl vymažu) mohlo by se stát, že ta tabulka bude mít neúnosný rozměry? Při extrémní situaci, že by si každý psal s každým je to 2*400x400 záznamů a to i v případě, že už si s tím člověkem nepíšu. Ale plánuju vymazávat vzkazy např. po 3 měsících, tak možná bych pak mohl vymazat i ty dva záznamy z této tabulky.

Pak jsem si ale uvědomil, že taky existuje tabulka favorites, kde jsou moji oblíbení uživatelé či přátelé a má podobnou strukturu tak mě napadlo jestli ty dvě tabulky nesloučit dohromady. Vlastně to je 2x2*400*400 záznamů pokud by každý se napároval s každým a s každým si psal.

A dále mě napadlo, co když budu chtít kromě tabulky oblíbených uživatelů vytvořit i tabulku přátel. Kdo je přítel může vidět mou fotku. Kdo není přítel nemůže, i když ho mám v oblíbených (protože si s ním třeba jen rád píšu)....

Takže mě napadlo, vytvořit jednu tabulku místo těch tří a dát ji jméno relations, kde kromě těch údajů o vzkazech a statistikách na začátku bude i to jestli je nebo není v oblíbených a jestli je či není přítel.

Ale je tu nevýhoda. Asi to bude hodně frekventovaná tabulka na select, protože se před zobrazením něčí fotky musím zeptat nejdříve jestli ho mám v seznamu. A to by bylo dotazů. To by asi byl problém co?

Zároveň mě napadlo: a co když bych po zalogování načetl seznam všech idček záznamů, které mě mají v přátelích a toto uložil do session? Pak se jen zeptám jestli id existuje v session.

Zajímají mě vaše doporučení, abych nedělal něco nesmyslného nebo neefektivního.

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: