【文章內(nèi)容簡介】
FROM BASEINFO_GOODS WHERE DZXL = ‘000001’) 高效 SELECT * FROM REPORT_SALE_ACCOUNT WHERE NOT EXISTS (SELECT CODE FROM BASEINFO_GOODS WHERE CODE = AND DZXL = 39。00000139。) SQL的優(yōu)化技巧 ( 5) ? 優(yōu)化 group by 提高 group by語句的效率,可以將不需要的記錄在 group by之前過濾掉。 SQL的優(yōu)化技巧 ( 5) ? 例如: 低效: select dzxl, avg(hsje) from report_sale_account group by dzxl having dzxl = ‘000001’ or dzxl =’000002’。 高效: select dzxl, avg(hsje) from report_sale_account where dzxl = ‘000001’ or dzxl =’000002’ group by dzxl。 SQL的優(yōu)化技巧 ( 5) ? 避免使用 HAVING子句,HAVING只會(huì)在檢索出所有記錄之后才對(duì)結(jié)果集進(jìn)行過濾,這個(gè)處理需要排序、統(tǒng)計(jì)等操作。如果能通過 WHERE子句限制記錄的數(shù)目,那就能減少這方面的開銷。 SQL的優(yōu)化技巧 ( 6) ? 有條件的使用 unionall 替代 union:這樣做效率會(huì)提高 3到 5倍。 SQL的優(yōu)化技巧 ( 7)