Witam,
W chwili obecnej próbuje zaprojektować bazę MySQL, aczkolwiek nie wiem czy moje rozwiązanie jest najbardziej optymalne. Poniżej przedstawię swój problem i moje rozwiązanie. Jeżeli ktoś posiada lepszy pomysł to proszę dać znać.
Zadanie:
Do bazy MYSQL co godzinę z komputerów klientów dostarczane są logi, które zawierają spis wszystkich ściągniętych plików i ich rozmiarów. W każdym znajduje się średnio 500 informacji o "plikach" i każdy przesyłany jest z X komputerów co godzinę. W chwili obecnej mam dwie tabele. Jedna to standardowa tabela zarejestrowanych użytkowników, a druga to tabela plików. Tabela plików przedstawia się następująco:
+ id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
+ user_id INT NOT NULL (powiązanie z użytkownikiem, który przesłał loga)
+ logfile_id INT NOT NULL (numer identyfikacyjny loga, z którego "pochodzi" dany plik)
+ nazwa_pliku varchar(128)
+ rozmiar_pliku INT NOT NULL
Log wyświetlane są klientom na żądanie dlatego musi istnieć powiązanie plik <-> log. Przyjmując, że mam bardzo dużą liczbę użytkowników i logi wysyłane są średnio co godzinę to jak nietrudno się domyślić w bazie robi się małe kongo-bongo. Myślałem o stworzeniu jednej "tabeli plików" dla jednego użytkownika, ale z tego, co wyczytałem na innych serwisach to nie jest dobry pomysł. Czy istnieje jakieś lepsze rozwiązanie tego problemu?