JavaScript を使用して一連の SQLite クエリを実行したいと考えています。これらのクエリは、いくつかのテーブルの最新の更新タイムスタンプを取得します。例えば:
SELECT last_updated FROM students ORDER BY last_updated DESC LIMIT 1;
SELECT last_updated FROM docs ORDER BY last_updated DESC LIMIT 1;
SELECT last_updated FROM logs ORDER BY last_updated DESC LIMIT 1;
SELECT last_updated FROM requests ORDER BY last_updated DESC LIMIT 1;
次に、これらの last_updated タイムスタンプをサーバーに送信します。これを行う方法を考えるとき、私は次のようなものを使用します:
var message = {};
sql('QUERY 1',[],function(row){
message.q1 = row.shift().shift(); // first row, first item
sql('QUERY 2',[],function(row){
message.q2 = row.shift().shift();
sql('QUERY 3',[],function(row){
message.q3 = row.shift().shift();
sql('QUERY 4',[],function(row){
message.q4 = row.shift().shift();
$.ajax('submit.php',{ // tell the server these things.
data: message,
type: 'POST',
success: function(response) {
console.log('Server replied: '+response+'\n');
},
error: function() {
console.log('HUHU.\n');
}
}
});
});
});
});
これは機能しますが、ネストされた SQL 呼び出しのため、これは非常に非効率的です。10 個の異なるテーブルのデータが必要になる場合もあります。
これを行うより効率的な方法はありますか?