Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Velocità Lettura Database con 10k Records

    Buongiorno ragazzi..
    Ho in mente di creare un database con 10.000 records e 62 colonne, ma mi chiedevo se questo non potesse risultare lento nella selezione e nella lettura dei valori dei vari records tramite PHP..

    Dite che sarebbe meglio dividere queste 62 colonne in più tabelle..?

  2. #2
    Quote Originariamente inviata da Luigi636 Visualizza il messaggio
    Buongiorno ragazzi..
    Ho in mente di creare un database con 10.000 records e 62 colonne, ma mi chiedevo se questo non potesse risultare lento nella selezione e nella lettura dei valori dei vari records tramite PHP..

    Dite che sarebbe meglio dividere queste 62 colonne in più tabelle..?
    si direi di si!!
    si chiama normalizzazione.
    guarda qua per una panoramica: https://it.wikipedia.org/wiki/Normal...informatica%29

    10.000 record di per se non sono tantissimi (ho db con milioni di records).
    anche per questo è importante normalizzare il db, e strutturarlo in diverse tabelle.

    PS: per questo era meglio la sezione database, php di per non c'entra nulla.

  3. #3
    Quote Originariamente inviata da fermat Visualizza il messaggio
    si direi di si!!
    si chiama normalizzazione.
    guarda qua per una panoramica: https://it.wikipedia.org/wiki/Normal...informatica%29

    10.000 record di per se non sono tantissimi (ho db con milioni di records).
    anche per questo è importante normalizzare il db, e strutturarlo in diverse tabelle.

    PS: per questo era meglio la sezione database, php di per non c'entra nulla.
    Hai ragione, ma ero indeciso dato che comunque anche fare dei cicli per andare a richiamare più tabelle in PHP forse potrebbe causare un rallentamento..

    Consideriamo che ci sia un'unica tabella, io in PHP chiedo di prendermi tutte le colonne (perchè mi servono sempre tutte) dei records che hanno l'id minore di 1.000 ad esempio, lui va e li prende.

    Nel caso di più tabelle invece dovrei fare cosi:
    MySql -> prendimi tutti i valori con id < 1000 dalla tabella 1
    PHP -> aggiungi i dati alla pagina
    MySql -> prendimi tutti i valori con id < 1000 dalla tabella 2
    PHP -> aggiungi i dati alla pagina
    MySql -> prendimi tutti i valori con id < 1000 dalla tabella 3
    PHP -> aggiungi i dati alla pagina
    MySql -> prendimi tutti i valori con id < 1000 dalla tabella 4
    PHP -> aggiungi i dati alla pagina
    MySql -> prendimi tutti i valori con id < 1000 dalla tabella 5
    PHP -> aggiungi i dati alla pagina

    Cioè in pratica per ogni riga si crea un ciclo di diverse operazioni per prelevare i dati che fondamentalmente fanno parte della stessa identità.. Ora comunque leggo questa cosa della normalizzazione
    Grazie

  4. #4
    Quote Originariamente inviata da Luigi636 Visualizza il messaggio
    Hai ragione, ma ero indeciso dato che comunque anche fare dei cicli per andare a richiamare più tabelle in PHP forse potrebbe causare un rallentamento..

    Consideriamo che ci sia un'unica tabella, io in PHP chiedo di prendermi tutte le colonne (perchè mi servono sempre tutte) dei records che hanno l'id minore di 1.000 ad esempio, lui va e li prende.

    Nel caso di più tabelle invece dovrei fare cosi:
    MySql -> prendimi tutti i valori con id < 1000 dalla tabella 1
    PHP -> aggiungi i dati alla pagina
    MySql -> prendimi tutti i valori con id < 1000 dalla tabella 2
    PHP -> aggiungi i dati alla pagina
    MySql -> prendimi tutti i valori con id < 1000 dalla tabella 3
    PHP -> aggiungi i dati alla pagina
    MySql -> prendimi tutti i valori con id < 1000 dalla tabella 4
    PHP -> aggiungi i dati alla pagina
    MySql -> prendimi tutti i valori con id < 1000 dalla tabella 5
    PHP -> aggiungi i dati alla pagina

    Cioè in pratica per ogni riga si crea un ciclo di diverse operazioni per prelevare i dati che fondamentalmente fanno parte della stessa identità.. Ora comunque leggo questa cosa della normalizzazione
    Grazie
    non devi fare più cicli per richiamare più tabelle.
    le colleghi usando le JOIN.
    e poi cicli sui records di quella select.

    poi, per come l'hai messa, la domanda è generica.
    se spieghi meglio quali sono i dati, uno potrebbe darti una mano.
    ma cmq penso che dovresti studiarti un pò di teoria sui db sui collegamenti tra tabelle.

  5. #5
    Quote Originariamente inviata da fermat Visualizza il messaggio
    non devi fare più cicli per richiamare più tabelle.
    le colleghi usando le JOIN.
    e poi cicli sui records di quella select.
    Ma non capisco che senso ha se poi alla fine devo richiamare sempre tutte le tabelle.. Non è meglio mettere tutto in un'unica riga?

    PS: il 95% delle celle contiene dei numeri che non superano le 2 cifre nel 50% dei casi

  6. #6
    Quote Originariamente inviata da Luigi636 Visualizza il messaggio
    Ma non capisco che senso ha se poi alla fine devo richiamare sempre tutte le tabelle.. Non è meglio mettere tutto in un'unica riga?

    PS: il 95% delle celle contiene dei numeri che non superano le 2 cifre nel 50% dei casi
    continuo a dirti che secondo me dvoresti dividiere le tabelle.
    però certo che se non dai più dettagli, non ti si può dire di più.
    tranne che rimandarti ai link teorici (tipo quello che ti ho indicato prima).

    a meno che tu nn abbia una tabella con soli campi numerici, e un programma che estrae sempre e solo tutti i dati nella stessa pagina.
    ma se fosse così, non penso che sia un programma strutturato bene.

  7. #7
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Quote Originariamente inviata da Luigi636 Visualizza il messaggio
    Buongiorno ragazzi..
    Ho in mente di creare un database con 10.000 records e 62 colonne, ma mi chiedevo se questo non potesse risultare lento nella selezione e nella lettura dei valori dei vari records tramite PHP..

    Dite che sarebbe meglio dividere queste 62 colonne in più tabelle..?
    Prima cosa. Non si dice database. Si dice tabella. Un database è un insieme di tabelle.
    Seconda cosa. 10.000 record sono pochissimi.
    Terza cosa. Dipende dai dati che ci metti. Quindi senza informazioni sui dati che vuoi mettere dentro impossibile rispondere.
    Quarta cosa. La velocità di lettura dipende anche dagli indici che crei o no.
    Ultima modifica di badaze; 16-05-2016 a 13:45
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  8. #8
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,469
    Per favore, non scrivere nella sezione PHP per qualsiasi problema.
    Stai chiedendo come organizzare i dati da mettere in un database, quindi la domanda va in database, non in php, non c'entra neanche con la velocità, perché la velocità dipenderà da come organizzi i dati, che non si fa con PHP.

    Riproponi la domanda nella sezione database ed approfittane per dare più dettagli su come è strutturata la tabella che hai adesso.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.