SELECT DISTINCT
viewA.TRID,
viewA.hits,
viewA.department,
viewA.admin,
viewA.publisher,
viewA.employee,
viewA.logincount,
viewA.registrationdate,
viewA.firstlogin,
viewA.lastlogin,
viewA.`month`,
viewA.`year`,
viewA.businesscategory,
viewA.mail,
viewA.givenname,
viewA.sn,
viewA.departmentnumber,
viewA.sa_title,
viewA.title,
viewA.supemail,
viewA.regionname
FROM
viewA
LEFT JOIN viewB ON viewA.TRID = viewB.TRID
WHERE viewB.TRID IS NULL
我有兩個視圖,其中有大約10K和5K的記錄。他們每個人都很快進入 - 幾分之一秒。當我嘗試從ViewA中獲取所有不在ViewB中的記錄時,它可以工作,但速度很慢。所有底層的TRID字段都是相同的字符集,並且都設置爲varchar(10),索引和表都是Innodb。現在查詢需要16秒。我能做什麼?左側加入兩個視圖很慢?
您是否嘗試刪除左連接並僅使用連接? – DevelopmentIsMyPassion
@AshReva - 這是非常快,但它什麼都沒有返回。 – blankip
這個回報平均有多少條記錄?第二個視圖背後的查詢是什麼樣的? –