php - 在 PHP 中从具有大数据的数据库表中获取数据的等待时间更长

标签 php mysql

我有两个表,例如“employee”和“employeeleaves”。只是我想计算员工一年请假的天数。 'employeeleaves' 表有过去三年的休假详细信息。 我使用 adodb.inc.php 库文件进行数据库连接。 我有 50 条员工记录和 1000 条休假记录。我的应用程序需要大约 1 分钟的时间来获取数据和显示。当我在 google chrome->developer tools->NEtwork 中看到这个时,等待 (TTFB) - 38.46s。

我想减少这个时间。因为一旦'employeeleaves'表获得更多数据,那么这个等待时间就会增加。 下面我粘贴我的数据获取代码,首先我获取员工列表,并为每个员工计算特定年份的假期。

$employee = new Employee();
        $employees = $employee->Find("1=1");        
        foreach($employees as $employee){

$employeeLeave = new EmployeeLeave();
        $employeeLeaves = $employeeLeave->Find("employee = ? and leave_period = ? and leave_type = ? and status = ?",
        array($employeeId,'2016','SickLeave','approved'));
        if(!$employeeLeaves){
            error_log($employeeLeave->ErrorMsg(),true);
        }       
        return $employeeLeaves;
}

以上代码用于休“病假”,我也将同样用于“临时休假”。

只是我想知道,我是否可以让这个查询只扫描包含休假期限为“2016”的行。

employeeleaves 表-字段名称

+-------------------------------------------------------------------------------------------+
| id, employee, leave_type, leave_period, date_start, date_end, details, status, attachment |
+-------------------------------------------------------------------------------------------+

最佳答案

你好吗?

你有2张表,为什么不创建一个查询加入到MYSQL中呢?

会好很多!

SELECT * FROM employee e
INNER JOIN employeeLeave el
ON(el.employee = e.id)

关于php - 在 PHP 中从具有大数据的数据库表中获取数据的等待时间更长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37114393/

相关文章:

php - MySql 和 Php 与 xcode

java - 双向@OneToOne映射使用hibernate创建记录

mysql - 显示表或 INFORMATION_SCHEMA

php - MySQL联合查询,按2个变量排序

php - 数据获取过程中的问题

php - 如何将图像添加到php mysql数据库?

php - split() 和explode() 有什么区别?

php - 长时间运行的控制台命令速度变慢

php - 单个 mySQL 查询中的 if 语句和大于比较

php - 我的 CMS 中的单一/重复计划