mysqld 居高不下 注意语句规范
时间:2016-07-17 22:32 来源:linux.it.net.cn 作者:IT
这里犯了误区,如果sql语句能直接使用得出结论,那么建议使用sql语句,而不是遍历。
以下是我今天范的错误,高数据插入的时候,出现瓶颈了。
//旧方案
$sql="SELECT id FROM `code_list` WHERE `code`='$code'";
然后使用mysql_num_rows(); 效率大大折扣,死循环。
一开始以为没有设置索引,这个是一个思路。
//新方案
$sql = "SELECT count(`id`) code_id FROM `code_list` WHERE `code`='$code'";
$query = mysql_query($sql);
$row=mysql_fetch_array($query,MYSQL_ASSOC);
if ($row['code_id'] > 0) {
return false;
} else {
return true;
}
(责任编辑:IT)
这里犯了误区,如果sql语句能直接使用得出结论,那么建议使用sql语句,而不是遍历。
以下是我今天范的错误,高数据插入的时候,出现瓶颈了。
//旧方案
$sql="SELECT id FROM `code_list` WHERE `code`='$code'";
然后使用mysql_num_rows(); 效率大大折扣,死循环。
一开始以为没有设置索引,这个是一个思路。
//新方案
$sql = "SELECT count(`id`) code_id FROM `code_list` WHERE `code`='$code'";
(责任编辑:IT)$query = mysql_query($sql); $row=mysql_fetch_array($query,MYSQL_ASSOC); if ($row['code_id'] > 0) { return false; } else { return true; } |