[html] Web SQL과의 동기화 및 비동기화

동기화

동기화란 무엇인가?

동기화는 작업이 순서대로 실행되는 것을 의미합니다. 한 작업이 끝나야만 다음 작업이 시작되는 방식으로 진행됩니다.

Web SQL에서 동기화

Web SQL에서는 transaction을 사용하여 동기화를 수행할 수 있습니다. 아래는 Web SQL에서의 동기화 예시입니다.

<script>
var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);
db.transaction(function (tx) {
    tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id unique, log)');
    tx.executeSql('INSERT INTO LOGS (id, log) VALUES (1, "log 1")');
});
</script>

비동기화

비동기화를 사용하는 이유

비동기화는 작업이 순서와 상관없이 독립적으로 진행되는 것을 의미합니다. 작업이 완료되기를 기다리지 않고 다음 작업을 실행할 수 있습니다.

Web SQL에서 비동기화

Web SQL에서 비동기화를 위해서는 transaction 내부에서 콜백 함수를 사용할 수 있습니다. 아래는 Web SQL에서의 비동기화 예시입니다.

<script>
var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);
db.transaction(function (tx) {
    tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id unique, log)', [], function(tx, results) {
        // 비동기 작업 완료 후 실행할 코드
    });
});
</script>

동기화와 비동기화는 각각의 장단점을 가지고 있고, 상황에 따라 적절히 선택하여 사용해야 합니다. Web SQL에서도 동기화와 비동기화를 적절히 활용하여 데이터베이스 작업을 수행할 수 있습니다.

참고 문헌: