durata di esecuzione di una query

Ciao ragazzi,

mi rivolgo a voi esperti per risolvere un mio dubbio: ho lanciato una query che facesse il join tra due tabelle molto grandi. E' normale che questa query sia in esecuzione da più di due ore (e non dia il minimo segno di voler terminare)? Mi sembra molto strano! Ho provato con MySQL Query Browser, Navicat, SQLyog..

Temo un malfunzionamento! :(

inviato 6 anni fa
lilux
X 0 X

La durata di una query non dipende dallo strumento che hai usato per lanciarla.

Una query di lettura può durare pochi millisecondi oppure ore e persino giorni, dipende tutto da cosa hai richiesto, dalla quantità dei dati coinvolti, dall'hardware del server, dalla configurazione di MySQL ma sopratutto dall'utilizzo o meno degli indici da parte dello statement SQL.

 :bye:

risposto 6 anni fa
Gianni Tomasicchio
X 0 X

Se ti dicessi che la query è del tipo:

CREATE TABLE nome_tabella_3

type="INNODB"

select B.attr1, A.attr2, B.attr3, B.attr4, B.attr5, B.attr6, B.attr7, A.attr8, B.attr9

from nome_tabella_1 A join nome_tabella_2

on (A.attr1=B.attr1)

dove  nome_tabella_1 ha 897920 righe

          nome_tabella_2 ha 3109469 righe

mi sapresti dire se è normale che ci voglia molto tempo?

Grazie

risposto 6 anni fa
lilux
X 0 X

Come ti ho detto dipende da molti fattori, principalmente il numero di record presente nelle 2 tabelle e la presenza di indici per le colonne A.attr1 e B.attr1

 :bye:

risposto 6 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda