Эта проблема заключается в том, что вы используете отдельную транзакцию для каждого шага вместо ее повторного использования, поэтому она работает плохо.
db.transaction - транзакция, поэтому BEGIN / COMMIT не требуется.
Попробуйте это:
<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">
var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);
var msg;
db.transaction(function (tx) {
for(var i=0;i<1000;i++)
{
txquer(tx, i,"test");
}
});
db.transaction(function (tx) {
tx.executeSql('SELECT * FROM LOGS', [], function (tx, results) {
var len = results.rows.length, i;
msg = "<p>Found rows: " + len + "</p>";
document.querySelector('#status').innerHTML += msg;
}, null);
});
function txquer(tx,i,test)
{
tx.executeSql('INSERT INTO LOGS (id, log) VALUES (?, ?)',[i,test]);
}
</script>
</head>
<body>
<div id="status" name="status">Status Message</div>
</body>
</html>