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/