Diese Abfrage wird langsam ausgeführt und wird langsamer, wenn die Tabelle wächst. Kann jemand einen Weg finden, die Geschwindigkeit zu erhöhen?Erhöhen Sie die Geschwindigkeit der Unterabfrage
Es ist beabsichtigt, tblUser_Lesson mit IDs von tblUser und tblLesson zu füllen, während sichergestellt wird, dass die IDs in der Tabelle vor dem Einfügen nicht vorhanden sind.
Ich habe einen Index auf tblUser.name und tblLesson.name, aber es scheint keinen Unterschied zu machen.
INSERT INTO tblUser_Lesson (user, lesson)
SELECT userId, lessonId
FROM
(
SELECT tblUser.id userId, tblLesson.id lessonId
FROM tblUser,
tblLesson
WHERE tblUser.name=?
AND tblLesson.name=?
) tmp
WHERE NOT EXISTS (SELECT user
FROM tblUser_Lesson tmp1
WHERE tmp1.user = tmp.userId
AND tmp1.lesson = tmp.tblLesson)
Kein JOIN-Zustand? Sehr unerwartet. – jarlh
Einfaches JOIN würde es um Meilen beschleunigen ... – Veljko89
Was genau versuchen Sie mit diesem 'INSERT' zu erreichen? –