Witam! Na wstępie zaznaczam, że dopiero uczę się korzystania z baz danych, więc jak możecie to wspominajcie o nawet najbardziej oczywistych sprawach.
Ostatnio zainteresowałem się wydajnością i optymalizacją mysql, ale zanim zacznę coś kombinować w tym temacie muszę stworzyć na localhoscie jakąś dużą bazę do testów. Niestety już w momencie planowania natrafiłem na problem związany z jej budową. Za cel obrałem sobie prostą bazę: kategorie-artykuły-komentarze. Po kilku naprawdę dziwnych próbach złożenia tego w całość wpadłem na (wtedy wydawało mi się genialny) pomysł aby stworzyć trzy osobne tabele i trzymać w nich id przypisujące rekordy do "elementu nadrzędnego" i tak powstały:
Tabela z kategoriami: id, tytuł, opis.
Tabela z artykułami: id, id kategorii do jakiej należy, tytuł, treść, data.
Tabela z komentarzami: id, id artykułu pod którym zamieszczony jest komentarz i tu też jakiś tytuł, treść, autor oraz data.
Ogólnie nic skomplikowanego, ale mam wątpliwości, czy taka budowa jest poprawna?
Przeraziła mnie ilość rekordów, założyłem sobie, że wprowadzę 10.000 kategorii, w każdej po 50 artykułów, a pod każdym artykułem 20 komentarzy, przez co w tabelach znajdować się będzie kolejno 10.000, 500.000 oraz 10.000.000 rekordów. Czy tworzenie takiej bazy ma sens? Da się to rozplanować w inny, bardziej wydajny sposób? Zakładam, że w przyszłości zadbam o to, żeby zapytania były zoptymalizowane, stworzę indeksy może nawet pomyśle o cachowaniu. No ale póki co muszę mieć na czym uczyć się tego wszystkiego. Wszystkie porady będą przydatne więc z góry za nie dziękuję.