SQL效率和速度

Kie*_*iel 1 php sql performance

我必须删除包含数组中id的记录.

我只是不知道哪个更好用.哪个更快更有效?

代码1

$array = array('123','456','789' ...)//over 900 entries
$id = implode(',', $array);
$sql = 'DELETE FROM email WHERE id IN ('.$id.')';
//execute sql
Run Code Online (Sandbox Code Playgroud)

要么

码2

$array = array('123','456','789' ...)//over 900 entries
for($x=0;$x<count($array);$x++){
  $sql='DELETE FROM email WHERE id = '.$array[$x].' ';
  //execute sql
}
Run Code Online (Sandbox Code Playgroud)

执行时哪两个更快更有效?

Jvd*_*erg 5

案例1会更快.

它不仅是执行确定总时间量的查询时间.解析,准备计划也需要时间.在需要多次完成的情况2中,在情况1中仅执行一次.删除行同样会很快,但是查询开销会使案例1更快.