Добрый день. Кто сталкивался с приведенной ниже задачей, что будет работать быстрее из двух вариантов реализации?
joomla
class .... extends JTable
1ый вариант.
{
$query = "SELECT rtc.id, rtc.created, rtc.published, rtc.content_id, rtc.user_id, rtcc.content
FROM `#__jshopping_rtcomments` as rtc
LEFT JOIN `#__jshopping_rtcomments_content` as rtcc ON rtc.content_id = rtcc.content_id
LIMIT 50";
$this->_db->setQuery($query);
$result = $this->_db->loadObjectList();
}
или 2ой вариант
{
$query = "SELECT rtc.id, rtc.created, rtc.published, rtc.content_id, rtc.user_id
FROM `#__jshopping_rtcomments` as rtc
LIMIT 50";
$this->_db->setQuery($query);
$result_A = $this->_db->loadObjectList('id');
$query = "SELECT rtcc.content_id, rtcc.content
FROM `#__jshopping_rtcomments_content` as rtcc
WHERE rtcc.content_id IN (" . implode(", ", array_keys($result_A)) . ")";
$this->_db->setQuery($query);
$result_B = $this->_db->loadObjectList('content_id');
}
В первом случае как sql работает, сначала left join двух больших таблиц, а потом limit? Left join не будет ли тормозить при объединении таблиц с 300к-400к записей. А во втором случае не будет ли тормозить сам php?