先上數(shù)據(jù)示例IDcat_id11,2,422,3311,13,17,1943,7,9,12這是某多對(duì)多關(guān)系在基于mysql的數(shù)據(jù)表中的表現(xiàn)形式(因?yàn)樯项^說(shuō)應(yīng)用小用兩個(gè)表就算了)并且篩選查詢的要求如下表推送條件期望結(jié)果(ID)111,211,3null3,9432,4注:推送條件和期望結(jié)果都是以,隔開,實(shí)際上是個(gè)一維索引數(shù)組推送條件之間是AND關(guān)系目前鄙人想到的基于thinkphp的解決方案是:1.遍歷查詢結(jié)果,將cat_id化為數(shù)組2.判斷推送條件(數(shù)組形式,可以認(rèn)為就是表單POST來(lái)的一維數(shù)組)是不是cat_id數(shù)組的子集。然而問(wèn)題就在遍歷查詢結(jié)果,這里測(cè)試是:結(jié)果如果達(dá)到6000+條,執(zhí)行時(shí)間需要3~20秒左右,比較慢。于是問(wèn)一下,上表這樣的篩選要求能不能用sql語(yǔ)句實(shí)現(xiàn),從而省掉遍歷的過(guò)程?
sql中字符串匹配問(wèn)題
慕斯王
2019-04-14 10:07:57