为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我的 API 需要 2-3 秒才能处理一个请求?

为什么我的 API 需要 2-3 秒才能处理一个请求?

PHP
慕后森 2023-10-01 17:01:25
我的 API 有问题。我使用lumen构建API并使用sql server作为我的数据库。所以这个API有一个插入数据的功能。但在插入数据之前,我的应用程序会检查数据是否插入了具有相同参数的任何数据。问题是每次请求发送到我的 API 时,都需要 2-3 秒来处理。当我跟踪日志时,它显示检查重复数据时需要 1 秒,保存数据时需要 1 秒。有没有更好的性能建议?我考虑使用 noSQL 和 php。它比sql server更强大吗?有关信息,我与多个应用程序一起使用的数据库连接到它。谢谢这是我的代码$getSameSppa = Sppa::where('nosppa', $SppaData->SPPA)                ->whereNotNull('policyno')                ->get();        if($getSameSppa->count() > 0){            $PolicyNo = $getSameSppa[0]->policyno;                            $return['data'] = array(                'ID' => property_exists($SppaData, 'ID') ? $SppaData->ID:'',                'SppaNo' => $SppaData->SPPA,                'PolicyNo' => $PolicyNo            );                        $return['response_code'] = env('BRI_RESPONSE_CODE_DUPLICATE','02');            $return['message'] = 'SPPA sudah pernah disubmit';                        Facades\Log::info('SPPA sudah pernah disubmit', $return);        }        else{            Facades\Log::info('SPPA belum pernah disubmit');                        // delete SPPA dengan nomor polis kosong            Sppa::where('nosppa', $SppaData->SPPA)                    ->whereNull('policyno')                    ->delete();                                    $nomorPolis = $this->_generate_policy_number($SppaData->MAKER_BRANCH_CODE, $SppaData->KODE_PRODUK, $SppaData->SPPA);            Facades\Log::info('Generate nomor polis berhasil');                       } 
查看完整描述

1 回答

?
慕码人2483693

TA贡献1860条经验 获得超9个赞

我找到了解决方案,当我在用于检查重复数据的字段中添加索引时,过程会更快。现在,一次攻击只需一秒或更短的时间。



查看完整回答
反对 回复 2023-10-01
  • 1 回答
  • 0 关注
  • 58 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信