Como o `db.serialize` funciona no` node-sqlite3`

Recentemente, estou aprendendo a usar o nó enode-sqlite3 Para manipular o sqlite3, aqui está uma amostra.

var sqlite3 = require('sqlite3');
var db = new sqlite3.Database(':memory:');
db.serialize(function() {
    db.run("CREATE TABLE test(info TEXT)");
    db.run("INSERT INTO test (info) VALUES ('info1')");
})
db.close();

A documentação dizia quedb.serialized foi usado para garantir que as linhas SQL fossem executadas em ordem, mas fiquei confuso, por que elas não seriam executadas em ordem semdb.serialize, afinal eles seriam retirados da fila de eventos e executados em ordem? Como isso funciona aqui?

E se houver apenas um sql a ser executado, é seguro executá-lo semdb.serialize do seguinte modo?

var sqlite3 = require('sqlite3');
var db = new sqlite3.Database(':memory:');
db.run("CREATE TABLE test(info TEXT)");
db.close();

questionAnswers(2)

yourAnswerToTheQuestion