با سلام و احترام
کوئری زیر جهت پیاده سازی از طریق join، به چه صورت باید باشد؟
SELECT COUNT(*) FROM `table1` WHERE `code` IN (SELECT `id` FROM `table2` WHERE `target`=1') AND `type`='3'
با سلام و احترام
کوئری زیر جهت پیاده سازی از طریق join، به چه صورت باید باشد؟
SELECT COUNT(*) FROM `table1` WHERE `code` IN (SELECT `id` FROM `table2` WHERE `target`=1') AND `type`='3'
SELECT COUNT(*)با JOIN این مشکل حذف میشود و Query Planner میتواند از index(table2.id) و index(table1.code) استفاده کند.
FROM table1
INNER JOIN table2 ON table1.code = table2.id
WHERE table2.target = 1
AND table1.type = '3';
INNER JOIN بهترین انتخاب است چون فقط ردیفهایی که match دارند لازماند.