Web SQL和IndexedDBhtml
1. 綜述html5
因爲網絡數據庫能夠容許你能夠在用戶的瀏覽器上存儲數據和附件並提供豐富的查詢能力,網絡數據庫讓你有能力創造一種新的web應用,它們既能夠工做在線上,也能夠工做在離線狀態,或者是不穩定的網絡鏈接狀態下。git
1.1WebSQL和IndexedDB兩種形式的區別github
類別 | WebSQL | IndexedDB | |
優勢 | 一個在客戶端實現的(SQLite)真實的關係型數據庫 |
|
|
缺點 |
|
對長期使用關係型數據庫的人來講,理解IndexedDB比較困難。 | |
存儲位置 | 包含行和列的數據表 | 包含JavaScript對象和key的對象存儲 | |
查詢方式 | SQL語句 |
|
|
事務 | 在讀寫操做期間對行、表和數據庫上鎖 | 在對objectStore進行只讀和讀寫操做以及對數據庫進行版本更新操做時上鎖。 | |
事務提交 | 須要明確建立transaction。若是沒有提交,默認作回滾處理。 | 須要明確建立transaction。默認是直接提交,除非咱們調用廢棄方法或提交時有沒法捕獲的異常。 |
1.2 瀏覽器支持狀況web
IndexedDB: chrome11+, opera不支持,firefox4+, IE 10+, mobile端支持略差。sql
1.3 存儲結構chrome
IndexedDB是按域名分配獨立空間,一個獨立域名下可建立多個數據庫,每一個數據庫可建立多個表,一個表能夠存儲多個對象數據。數據庫
參考資料:瀏覽器
https://w3c.github.io/IndexedDB/網絡
https://www.w3.org/TR/IndexedDB/
http://www.runoob.com/html/html5-web-sql.html
https://www.html5rocks.com/en/tutorials/webdatabase/websql-indexeddb/