¿Cómo funciona `db.serialize` en` node-sqlite3`

Recientemente estoy aprendiendo a usar el nodo ynode-sqlite3 para manipular sqlite3, aquí hay una muestra.

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();

La documentación decía quedb.serialized se utilizó para garantizar que las líneas SQL se ejecutaran en orden, pero estaba confundido, ¿por qué no se ejecutarían en orden sindb.serialize, después de todo, ¿serían retirados de la cola de eventos y ejecutados en orden? ¿Cómo funciona aquí?

Y si solo hay un sql para ejecutar, ¿es seguro ejecutarlo sindb.serialize ¿como sigue?

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

Respuestas a la pregunta(2)

Su respuesta a la pregunta