Voici extrait très simple de SQL échoue:MySQL temps de déclaration UPDATE sur
UPDATE smalltable,bigtable
SET smalltable.ssn=bigtable.ssn
WHERE smalltable.last = bigtable.last && smalltable.first = bigtable.first;
BigTable 16.000 records - pas vraiment tout ce que grand pour SQL. smalltable a environ 300. Pour une raison quelconque, cette déclaration expire (> 30 secondes). Pourquoi? Cela semble très simple, et les données ne sont pas difficiles à travailler: pas beaucoup de répétitions, de champs courts (VARCHAR (20)), etc.
Est-ce que je fais quelque chose de mal? J'essaye juste de mettre à jour les disques dans smalltable avec une recherche simple (ou si j'ai pensé) dans le bigtable.
Éditer: Très pertinent: smalltable est un LOCAL INFILE
.
Pouvez-vous poster créer une table pour smalltable et BigTable? Il semble que vous n'ayez pas d'index sur les colonnes de jointure (premier et dernier). – a1ex07
bigtable a beaucoup d'enregistrements non pertinents (175 au total), mais les clés sont le dernier et le premier qui sont VARCHAR (20) et ssn qui est VARCHAR (16). smalltable a exactement ces trois champs. – Charles