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

我的 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');

           

            } 



慕后森
浏览 68回答 1
1回答

慕码人2483693

我找到了解决方案,当我在用于检查重复数据的字段中添加索引时,过程会更快。现在,一次攻击只需一秒或更短的时间。
打开App,查看更多内容
随时随地看视频慕课网APP