Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    70

    Meglio + tabelle o + record?

    Ciao a tutti!

    Sto realizzando un sito in php/mysql con iscrizione utenti e che possano inviarsi messaggi tra loro.

    Ora mi chiedo:

    Ogni volta che un utente si registra gli creo una tabella "messaggi_utente" in cui verranno memorizzati tutti i messaggi rivolti a lui oppure creo un unica tabella "messaggi" in cui metto l'id dell'utente??

    In sostanza, pensando ad un futuro pieno di utenti (speriamo...), il database rallenta maggiormente se deve cercare una tabella tra tante oppure un record tra ankora di + (considerando che ogni utente manderà quasi sicuramente + di un messaggio)??

    Secondo me, meglio avere tante tabelle distinte ma nn vorrei ke magari mysql si innervosisse dopo 1.000/10.000/100.000 tabelle...

    Grazie a tutti!

  2. #2
    Sicuramente è meglio un database bene progettato.
    La caratteristica dei database relazionali e quella di avere un insieme di tabelle che sono in relazione.
    A mio parere credo che sia meglio avere una "unica" tabella dei msg che una tabella per ogni utente.
    Pensa che nell'ipotesi della tua soluzione in ogni caso queste tabelle devono essere in relazione con l'utente che le crea. Quindi cosa ti cambia?
    inoltre se ogni utente ha una tabella msg e poi tali utenti partecipano alla stessa conversazione abbiamo una serie di relazioni tra tabelle che non farà altro che aumentare il tempo di accesso e di esecuzione delle query.
    Non so se sono stato chiaro
    Vincenzo Miele

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    591
    per me tabella unica, basta gestire le chiavi di ricerca.
    come dice vinmie pensa che per cercare tutti i messaggi di una stessa conversazione devi fare query su 1000,10.000,100.000 tabelle VVoVe:
    invece di farne 1 sola

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    70
    Prima di tutto...grazie a tutti x le rapide risposte

    Però forse nn mi sono spiegato bene io.
    Non voglio realizzare un qualcosa tipo forum ma bensì dei messaggi privati tra utenti, quindi ogni utente potrà vedere SOLO i messaggi destinati a lui e inviare messaggi destinati ad una persona per volta (tipo i PM/MP dei forum)

  5. #5
    il risultato non cambia.
    Ilk problema è sempre lo stesso.
    occorre fare una unica tabella che utilizza come chiave esterna l'identificativo del'utente.
    poi tramite query gestisci il tutto.
    Vincenzo Miele

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    70
    Quindi se ho capito bene è meglio avere 100.000 records in 1 tabella piuttosto che 10.000 tabelle con 10 records l'una per gestire la stessa funzione di messaggistica, esatto??

    Considerando che ogni utente accederà solo alla propria tabella disinteressandosi delle tabelle altrui.

  7. #7
    ma sei sicuro che le varie tabelle non sono in relazione?
    Vincenzo Miele

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    70
    Eh...si...ogni utente con la propria tabella è come se avesse il proprio indirizzo di posta e quindi per la sicurezza/privacy gli altri utenti nn devono poter leggere i messaggi rivolti a qualcun'altro.

    Xò appunto mi chiedo: mysql si incacchia di + se deve cercare fra 1000 tabelle (+ quelle che usa x il normale lavoro del sito) oppure se deve cercare in una sola tabella con 10.000 query lasciando + snella la parte della ricerca della tabella??

    Lo so...io e l'italiano spesso litighiamo e nn riesco a spiegarmi come vorrei...

  9. #9
    ma secondo te un db offerto da un webHosting ti da la possibilità di creare 10000 tabelle?
    Vincenzo Miele

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    70
    Nessun altro ha qualke parere da darmi??

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.