Mysql SELECT / INSERT实时VS后期+ Securtiy问题准备语句
您好,
我写了一个独特的进出计数器的小脚本,其中用户和引用者的时间戳+ ip被添加到txt文件中,每5分钟一个cronjob调用脚本来更新数据库,他从中获取数据txt文件。
我发现了一个mysql函数“INSERT DELAY” - “SET UPDATE LOW_PRIORITY”我正在使用cronjob中的两个命令,现在我想,用这两个命令将数据直接插入DB,这会增加DB负载?或者每5分钟做一次更好。
关于脚本:检查ip是否存在,如果ip存在,则删除insert,并删除所有超过24h的ips,如果ip不存在,则添加ip并删除超过24h并执行其他操作,最差它为每个ip执行db SELECT / INSERT / UPDATE / DELETE和OPTIMIZE TABLE做了15件事
关于环境:每1秒5个用户即将到来,在5分钟内,我应该在txt文件中拥有大约1500个ips。 关于表:将有大约300k + ips,删除/检查/插入。
那么我现在该如何做到这样会更好吗?或者是否可以实时将数据添加到数据库中,插入延迟等等?
好的我想改进我的脚本,并找到关于预备语句,我使用MYSQLI扩展:示例
$sql = "SELECT * FROM table WHERE row1 = ? AND row2 = ? AND row3 = ?";
$stmt = $mysqli->prepare($sql);
$stmt->bind_param('sss', $var1, $var2, $var3);
$stmt->execute();
$stmt->close();
所以我不再做了mysqli-> real_escape_string($ var);所以我的问题是,仍然可以使用预处理语句进行SQL注入吗?如果是,我怎么能阻止这个?
谢谢