デバッグモデルに1つの関数があり、アプリにダミーデータを追加して、その速度などをテストするために使用します...
問題は、2つの異なるテーブルにレコードを追加する必要があり、各レコードがdbに追加される前に、重複するユーザー名などをチェックする必要があるため、少し時間がかかることです...
また、この手順は、forループで一度に追加したい$totalの異なるダミーレコードについて繰り返されます...
たとえば、100人の新規ユーザーの場合、追加したいので、続行するのに約5秒かかります。
今回は問題ありませんか、それとも最適化する必要がありますか?
一度に1000,10000人のユーザーを追加したい場合はどうなりますか?出来ますか?
編集: データを挿入するために呼び出された関数:
public function registerRandomUsers($total = 1){
$this->load->model("misc_model");
$this->load->model("encryption_model");
$this->load->model("signup_model");
for ($i=1;$i<=$total;$i++){
$username = $this->misc_model->generateRandomString(15);
$flag = false;
while ($flag == false){
if ($this->user_model->usernameExist($username)){
$username = $this->misc_model->generateRandomString(15);
}else{
$flag = true;
$password = 'Test123';
$email = $username.'@email.com';
$data = array(
'username' => $username,
'password' => $password,
'email' => $email
);
$this->signup_model->submitRegistration($data);
$userdata = $this->user_model->getUserData($username, "username");
}
}
}
}