Php 如何提高使用Yii 2.0框架开发的web应用程序的性能

Php 如何提高使用Yii 2.0框架开发的web应用程序的性能,php,mysql,yii2,Php,Mysql,Yii2,实际上,我需要提高使用Yii 2.0框架开发的web应用程序的性能速度 我使用Yii2框架制作了一个CRM,它包含一个大型数据库,在这个数据库中,名为Employee的特定表包含20000条员工记录,因此在执行查询以从表中检索数据时,执行该表需要时间 这使得我使用这个应用程序很麻烦 更新 代码: 上述代码用于从属下拉列表,这意味着如果管理员选择一个公司名称,它将显示属于该公司的从属员工代码,然后管理员再次选择一个员工代码,它将显示从属员工的姓名及其家庭成员的姓名。从记录查询开始() 当您已经有S

实际上,我需要提高使用Yii 2.0框架开发的web应用程序的性能速度

我使用Yii2框架制作了一个CRM,它包含一个大型数据库,在这个数据库中,名为
Employee
的特定表包含20000条员工记录,因此在执行查询以从表中检索数据时,执行该表需要时间

这使得我使用这个应用程序很麻烦

更新 代码:


上述代码用于从属下拉列表,这意味着如果管理员选择一个
公司名称
,它将显示属于该
公司的从属
员工代码
,然后管理员再次选择一个
员工代码
,它将显示从属员工的姓名及其家庭成员的姓名。

从记录查询开始()

当您已经有SQL格式的查询时,转到您的数据库管理应用程序(例如phpmyadmin)并执行
EXPLAIN[query_body]它将显示您的表是否具有正确的索引。如果未使用索引或没有索引,则应通过添加一个或编写更精确的查询来修复。我打赌这不是yii2的问题,甚至不是php的问题,而是您的db系统

应在
employee
表中索引的列有:
employee\u id
importcompany\u id
status


还可以考虑将
status
列更改为某个枚举整数值(由于字符串的大小,很难正确索引字符串)。

从记录查询()开始

当您已经有SQL格式的查询时,转到您的数据库管理应用程序(例如phpmyadmin)并执行
EXPLAIN[query_body]它将显示您的表是否具有正确的索引。如果未使用索引或没有索引,则应通过添加一个或编写更精确的查询来修复。我打赌这不是yii2的问题,甚至不是php的问题,而是您的db系统

应在
employee
表中索引的列有:
employee\u id
importcompany\u id
status


还可以考虑将
状态
列更改为某个枚举整数值(由于字符串太大,很难正确索引字符串)。

您可以发布您的查询吗?@noddy请参见上文我已更新我的问题是您的第一个查询权($countClaimprocess)。您是否阅读了正确的表Employee?是的,我需要知道是否包含记录。您可以发布您的查询吗?@noddy请参见上文我已更新我的问题是您的第一个查询权($countClaimprocess)。您是否读取了正确的Employee表?是的,我需要知道是否包含记录
public function actionLists($id)
    {
         $countClaimprocess = Employee::find()
            ->where(['id' => $id])
            ->count();

    $claimprocess1 = Employee::find()
            ->select('employee_id')
            ->where(['id' => $id])
            ->one();

    $claimprocess2 = Employee::find()
            ->select('importcompany_id')
            ->where(['id' => $id])
            ->one();

    $claim2 = $claimprocess2->importcompany_id;

    $claim = $claimprocess1->employee_id;

    $claimprocess = Employee::find()
            ->where("employee_id = '$claim'  and importcompany_id = $claim2")
            ->andwhere(" status != 'Deleted' ")
            ->all();

    }