Por favor, ten en cuenta 📝 que si deseas hacer un trato 🤝 con este usuario, está baneado 🔒.
Tengo esta query que biene en un script que me baje pero no logro hacer que el buscador solo lea los ultimos 50 mil debdi a que estoy haciendo pruebas con una bd de 1 millon de registros pero no logro que solo lea los ultimos 50 mil en una consulta por lo que se ahoga mysql al usar el buscador si me ayudaran como delimitar eso ya intente de todo si alguien me hehca una mano
PHP:
function searchTest($where = false, $type = false, $select = false)
{
global $config;
if (!$where)
return false;
$sql = "SELECT COUNT(`T1`.`ID`) AS `Count` ";
$GLOBALS['rlHook']->load('listingsModifyFieldSearch', $sql);
if ($select) {
$sql .= $select;
}
$sql .= "FROM `" . RL_DBPREFIX . "listings` AS `T1` ";
$sql .= "LEFT JOIN `" . RL_DBPREFIX . "listing_plans` AS `T2` ON `T1`.`Plan_ID` = `T2`.`ID` ";
$sql .= "LEFT JOIN `" . RL_DBPREFIX . "categories` AS `T3` ON `T1`.`Category_ID` = `T3`.`ID` ";
$sql .= "LEFT JOIN `" . RL_DBPREFIX . "accounts` AS `T7` ON `T1`.`Account_ID` = `T7`.`ID` ";
$GLOBALS['rlHook']->load('listingsModifyJoinSearch', $sql);
$sql .= "WHERE (UNIX_TIMESTAMP(DATE_ADD(`T1`.`Pay_date`, INTERVAL `T2`.`Listing_period` DAY)) > UNIX_TIMESTAMP(NOW()) OR `T2`.`Listing_period` = 0) ";
$sql .= "AND `T1`.`Status` = 'active' AND `T3`.`Status` = 'active' AND `T7`.`Status` = 'active' ";
if ($type) {
$sql .= "AND `T3`.`Type` = '{$type}' ";
}
$sql .= "AND " . $where;
$GLOBALS['rlHook']->load('listingsModifyWhereSearch', $sql);
$GLOBALS['rlHook']->load('listingsModifyGroupSearch', $sql);
$results = $this->getRow($sql);
if ($select && $results) {
foreach ($this->keyword_stat as $kk => $lv) {
if ($results[$kk] || $results[$this->keyword_map[$kk]] || $results['cat_' . $this->keyword_map[$kk]]) {
$this->keyword_stat[$kk]++;
}
}
}
return $results['Count'];
}