我的mysql数据库中有3个表,
其中2个具有10,000+行,第3个具有100+行。

我的查询是

SELECT `deals`.`name`,
       `deals`.`id` as `deals_id`,
       `reports`.`dealid`,
       `reports`.`pdeealnum`,
       `reports`.`pconfirmed`,
       `reports`.`pdate`,
       `reports`.`ppay`,
       `reports`.`pfname`,
       `reports`.`plname`,
       `reports`.`pmail`,
       `reports`.`paddress`,
       `reports`.`pphone`,
       `reports`.`pdate`,
       `orders`.`id` as `coupon`,
       `orders`.`dealid`
  FROM `deals`
LEFT JOIN `reports` ON `reports`.`dealid` = `deals`.`id`
LEFT JOIN `orders` ON `orders`.`dealid` = `deals`.`id`
    WHERE `reports`.`pdate` >= '".strtotime($_POST['start_date'])."'
      AND `reports`.`pdate` <='".strtotime($_POST['end_date'])."'
 ORDER BY `reports`.`pdate` DESC


我如何管理选择的大量数据而不会导致站点卡死或失败?

最佳答案

确保您的dba将适当的索引添加到pdate字段。

然后,如果发现遇到性能问题,请研究提高性能的更高级方法。诸如在应用程序中进行分页,分区表等之类的事情。

关于php - 如何管理从多个表中选择许多数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6804406/

10-11 03:09