dovendo implementare un database che potrebbe arrivare a contenere molti dati sono indeciso tra due soluzioni diverse:
- creare una tabella dove all'interno inserirò tutti i dati
- dividere i dati per più tabelle
Quello che mi chiedo è che se il numero di dati aumenta notevolmente quale delle due soluzioni da prestazioni migliori e quale occupa meno spazio su disco.
Premetto che i dati verranno prelevati e inviati da un sito Aspnet e il DB Sql è alloggiato sullo stesso dominio di hosting del sito.
I dati da inserire saranno suddivisi x ogni utente, nel senso che ogni utente del sito avrà i suoi dati.
Quindi x esempio se ci saranno 1000 utenti potrò avere una tabella con 1000 righe ed ognuna assocciata ad un utente oppure 1000 tabelle ognuna x utente.
Quindi se x esempio se io facessi un select x un utente sarebbe più prestante prelevare i dati dalla tabella contentente 1000 righe o nell'altro modo?
e cioè quando faccio un select da aspnet ad una tabella di 1000 righe e ci inserisco la clausola "WHERE user = @user" (quindi in questo caso mi preleverebbe solo la riga dell'utente coinvolto) il select verrà fatto su server SQL e quindi non avrò tutto il transito delle 1000 righe da SQL ad IIS o viceversa?
bisogna considerare il caso in cui più utenti fanno richieste e modifiche al DB contemporeanemente...