我的 API 有問(wèn)題。我使用lumen構(gòu)建API并使用sql server作為我的數(shù)據(jù)庫(kù)。所以這個(gè)API有一個(gè)插入數(shù)據(jù)的功能。但在插入數(shù)據(jù)之前,我的應(yīng)用程序會(huì)檢查數(shù)據(jù)是否插入了具有相同參數(shù)的任何數(shù)據(jù)。問(wèn)題是每次請(qǐng)求發(fā)送到我的 API 時(shí),都需要 2-3 秒來(lái)處理。當(dāng)我跟蹤日志時(shí),它顯示檢查重復(fù)數(shù)據(jù)時(shí)需要 1 秒,保存數(shù)據(jù)時(shí)需要 1 秒。有沒(méi)有更好的性能建議?我考慮使用 noSQL 和 php。它比sql server更強(qiáng)大嗎?有關(guān)信息,我與多個(gè)應(yīng)用程序一起使用的數(shù)據(jù)庫(kù)連接到它。謝謝這是我的代碼$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貢獻(xiàn)1860條經(jīng)驗(yàn) 獲得超9個(gè)贊
我找到了解決方案,當(dāng)我在用于檢查重復(fù)數(shù)據(jù)的字段中添加索引時(shí),過(guò)程會(huì)更快?,F(xiàn)在,一次攻擊只需一秒或更短的時(shí)間。
- 1 回答
- 0 關(guān)注
- 102 瀏覽
添加回答
舉報(bào)
0/150
提交
取消