MySQL中一個sql語句包含in優化問題


第一版sql:

SELECT module.id, module.module_name, module.module_code
 `module` where 
92 IN (module.did_access)
WHERE module.type =2
AND module.status =0
ORDER BY module.create_time ASC
LIMIT 0 , 30 

    這樣的sql語句會有缺陷,in的用法雖然看上去沒問題,但是是不對的,這樣查出的數據不全,所以優化了一下:

第二版sql:

select module.id, module.module_name, module.module_code
 from `budget_project_module` as module 
where module.type=1 
and module.status=0 
and FIND_IN_SET(92, module.did_access) order by module.create_time asc

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM