Ich habe Probleme beim Ausführen einer Einfügeabfrage auf 2 große Tabellen. Ein Tisch ist 67.000.000 und der andere ist 100.000. Ich versuche, einen LINKEN und einen RECHTEN Join an den 2 Tischen zu machen und die Ergebnisse in eine andere Tabelle zu bringen. Die Abfrage läuft perfekt auf kleineren Tabellen unter 1M Einträge. aber wenn man zu den höheren Einträgen kommt, bombardiert es. Ich bekomme diese Fehlermeldung:MySQL Einfügen von Ergebnissen der linken und rechten Join Ergebnisse in Speicherproblem
Incorrect key file for table 'C:\Windows\TEMP\#sql3838_2_6.MYI'; try to repair it
Nach den Lösungen Online-Lesen sie sagen, den Speicher durch mysql verwendet zu erhöhen und es ist Schlüssel für die Indizierung. Ich habe das versucht und bekomme immer noch das gleiche Problem. Ich bin mir nicht sicher, ob es eine schlechte Konfiguration für mysql oder eine Bar geschriebene Abfrage ist.
Also ich bin wirklich auf der Suche nach einer Lösung zur Optimierung meiner Abfrage, so dass es mehr Speichereffizienz oder eine Änderung in my.config ist, um die Abfrage zu behandeln. Oder die Abfrage in 2 verschiedene Inserts aufteilen ??? Würde das helfen?
MySQL Query
INSERT INTO schema.orphan_results (_Doc_ID, Orphan_Entries, Entries_Table, Orphan_File)
SELECT C.A__Doc_ID, C.A_File, C.A_Table, C.B_File
FROM(SELECT A._Doc_ID AS A__Doc_ID, A.File AS A_File, A.Table AS A_Table, B.File AS B_File
FROM schema.Temp_Entries A
LEFT JOIN schema.temp_dir_scan B ON A.File = B.File
UNION SELECT A._Doc_ID as A__Doc_ID, A.File AS A_File, A.Table AS A_Table, B.File AS B_File
FROM schema.Temp_Entries A
RIGHT JOIN schema.temp_dir_scan B ON A.File = B.File) C
WHERE C.A_File IS NULL OR C.B_File IS NULL
Hier ist my.config für MySql
default-storage-engine=INNODB
max_connections=800
query_cache_size=186M
table_cache=1520
tmp_table_size=900M
thread_cache_size=38
myisam_max_sort_file_size=100G
myisam_sort_buffer_size=268M
key_buffer_size=1160M
read_buffer_size=128K
read_rnd_buffer_size=512K
sort_buffer_size=512K
innodb_additional_mem_pool_size=96M
innodb_buffer_pool_size=563M
My System
16 Gigs of Mem
52 Gigs of Free disk space.