PDA

View Full Version : [MySql] Caricare molto un db per valutare i tempi di risposta delle query, parere?


D4rkAng3l
24-05-2009, 19:32
Ciao,
devo fare questo proggetto che consiste principalmente nel caricare un mio database con tanti dati e far vedere la differenza di tempistiche nella risposta alle query prima e dopo l'ottimizzazione del database...

Io pensavo di averlo caricato un bel po' ma i tempi di risposta sono ancora velocini...

Ad esempio ho caricato nella tabella offerta la bellezza di 115053 record.

Se eseguo questa query ci mette abbastanza poco tempo nel db non ottimizzato:


mysql> SELECT ext.* FROM offerta as ext
-> WHERE ext.id_offerta =
-> (SELECT MAX(id_offerta)
-> FROM offerta JOIN inserzione
-> ON (offerta.id_oggetto = inserzione.id_oggetto)
-> WHERE inserzione.id_oggetto=4
-> AND offerta.data<=inserzione.scadenza
-> );
+------------+--------------+------------+----------------+---------------------+
| Id_Offerta | Partecipante | Id_Oggetto | Valore_Offerta | Data |
+------------+--------------+------------+----------------+---------------------+
| 115113 | ACUQ | 4 | 9695.58 | 2009-05-25 21:08:55 |
+------------+--------------+------------+----------------+---------------------+
1 row in set (0.35 sec)


Solo 0,35 secondi....

Ora vabbè che è una query su una sola tabella....ma secondo voi quanti record dovrei caricarci per avere risultati un po' consistenti? Il problema è che il programma che uso per generare dati casuali mi fa caricare soltanto 100 record alla volta (quindi stò passando le ore a clickare un tasto per generare record su record....)

Grazie
Andrea

qwerty86
24-05-2009, 22:30
Prova sui 500mila record.

D4rkAng3l
24-05-2009, 22:45
Prova sui 500mila record.

ma dici che bastano 500.000 record su 2-3 tabelle principali oppure su TUTTE le tabelle? :eek:

Perchè su 2-3 tabelle potrebbe anche essere credibile...ma su altre i dati a logica sono di meno.

Mi spiego meglio...è il db di un sistema di aste online...

Posso anche avere circa 500.000 record nella tabella che rappresenta gli oggetti messi in vendita, un po' meno sugli utenti (non è che ogni utente in genere vende...spesso su ebay gli utenti comprano solo), diciamo che posso avere anche tantissimi record nella tabella che rappresenta i messaggi che si scambiano gli utenti (altri 500.000\600.000) e sui 300.000 record nelle tabelle che rappresentano gli oggetti venduti, i feedback del venditore ed i feedback degli acquirenti...

Poi altre tabelle come quella che rappresenta le categorie di oggetti o gli amministratori non ha senso logico farle enormi...non è che c'è una categoria per ogni oggetto o milioni di amministratori...

Per te caricando a bestia solo el tabelle che hanno un senso logico di essere riempite di dati (come sarebbe nella realtà) potrei riuscire ad ottenere l'effetto voluto?

Grazie
Andrea

qwerty86
25-05-2009, 09:05
ma dici che bastano 500.000 record su 2-3 tabelle principali oppure su TUTTE le tabelle? :eek:

Perchè su 2-3 tabelle potrebbe anche essere credibile...ma su altre i dati a logica sono di meno.

Mi spiego meglio...è il db di un sistema di aste online...

Posso anche avere circa 500.000 record nella tabella che rappresenta gli oggetti messi in vendita, un po' meno sugli utenti (non è che ogni utente in genere vende...spesso su ebay gli utenti comprano solo), diciamo che posso avere anche tantissimi record nella tabella che rappresenta i messaggi che si scambiano gli utenti (altri 500.000\600.000) e sui 300.000 record nelle tabelle che rappresentano gli oggetti venduti, i feedback del venditore ed i feedback degli acquirenti...

Poi altre tabelle come quella che rappresenta le categorie di oggetti o gli amministratori non ha senso logico farle enormi...non è che c'è una categoria per ogni oggetto o milioni di amministratori...

Per te caricando a bestia solo el tabelle che hanno un senso logico di essere riempite di dati (come sarebbe nella realtà) potrei riuscire ad ottenere l'effetto voluto?

Grazie
Andrea

Credo di si , inizia a provare con la tabella che rappresenta gli oggetti in vendita e vedi se il tempo di query aumenta e di quanto...