$mysqli->autocommit(FALSE);
$mysqli->query("BEGIN;");
$mysqli->multi_query("SELECT id FROM links WHERE id > (SELECT value FROM meta WHERE name='scan' FOR UPDATE) LIMIT 1000;UPDATE meta SET value=value+1000 WHERE name='scan';");
$mysqli->commit();
यह एक जटिल मुद्दा है; लॉकिंग और लेन-देन का स्तर, लेकिन ऊपर जादू था BEGIN
बयान। इसके बिना, प्रत्येक कथन अपने लेन-देन स्तर पर चल रहा था, और FOR UPDATE
ताला बहुत जल्दी खोला जा रहा था।