Witam,
mam pytanie do ludzi którzy już siedzą w temacie i mają za sobą DUŻE bazy danych.
Chcę by moja baza śmigała nawet gdy będzie miała 9999999 użytkowników i tabel dlatego...
czy lepiej stworzyć bazę danych która będzie wyglądać tak:
PRZYKŁAD NR. 1
Tabela "Klienci" a w niej:
- ID
- Imię
- Nazwisko
- Kod pocztowy
- Miasto
- Numer telefonu
- Własny opis
- Kod pocztowy do wysyłki
- Miasto do wysyłki
Czy lepiej:
PRZYKŁAD NR. 2
Tabela "Klienci_podst" a w niej:
- ID
- Imię
- Nazwisko
Tabela "Klienci_info1" a w niej:
- ID_klienta
- Kod pocztowy
- Miasto
- Numer telefonu
Tabela "Klienci_info1" a w niej:
- ID_klienta
- Kod pocztowy do wysyłki
- Miasto do wysyłki
Tabela "Klienci_info3" a w niej:
- ID_klienta
- Dodatkowe info od klienta
Biorąc pod uwagę fakt, że każdy będzie miał podane imię i nazwisko, oraz oczywiście ID, lecz nie każdy coś zamówi - więc nie każdy poda adres, a nawet jak poda - to większość z klientów ma taki sam adres do faktury, co do wysyłki.
Jak optymalniej będzie dla bazy? Lepiej pobierać WSZYSTKIE dane przy logowaniu (i zapisać do sesji), czy pobierać tylko podstawy (i zapisać do sesji), a później jeśli zajdzie potrzeba znów przeszukiwać bazę 3 razy??
I jeszcze takie dodatkowe pytanie, czy wyświetlając napis: "Zamówiłeś u nas już: XX razy", lepiej pobierać z bazy rowCountem, czy dodać do bazy tabelę "ilość zamówień" i przy każdym zamówieniu dodawać do wartości "1", a przy zwrocie odejmować "1"?