热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

IndexedDB性能和IndexedDBv/sWebSQL性能比较

如何解决《IndexedDB性能和IndexedDBv/sWebSQL性能比较》经验,为你挑选了1个好方法。

WebSQL和IndexedDB都是用于访问(CRUD)Web浏览器中底层嵌入式数据库的DB API.其中,如果我是正确的,就像SQL一样访问(CRUD)任何客户端 - 服务器数据库,如Oracle等(在许多情况下,WebSQL和IndexedDB的支持在同一浏览器上可用)

    那么,这是否意味着WebSQL和IndexedDB都在访问(CRUD)相同的底层嵌入式数据库,如果是这样,那么它将在所有Web浏览器上具有相同的性能!

    但我认为情况并非如此,那么它是否意味着Web浏览器将拥有多个底层嵌入式数据库?为什么在同一个浏览器中应该有2个底层嵌入式数据库?

而且由于WebSQL和IndexedDB都是API,所以它意味着说WebSQL和IndexedDB的性能并不完全正确(因为它们更像是查询/访问语言),但它在很大程度上取决于底层嵌入式数据库的性能.而且,根据Google的说法,LevelDB比SQLite更快

    是否正确地说它不是WebSQL和IndexedDB之间的性能差异,而是底层嵌入式数据库的性能?

    IE,Chrome,Android浏览器的底层嵌入式数据库是什么?我无法在网上找到这些信息,是否有人发现或编译过它?

Jonathan Smi.. 19

为了解决第一个问题,的WebSQL从未在Internet Explorer或火狐(实施http://diveintohtml5.info/storage.html,http://caniuse.com/#feat=sql-storage).对于离开Chrome和Safari的"大浏览器"而言,两者都来自WebKit(尽管自从v28 Chrome开始运行在WebKit的分支上,称为'Blink').过去,这两种浏览器都使用SQLite作为WebSQL和IndexedDb的底层数据库,但Chrome将IndexedDb从SQLite切换到LevelDB.

要回答第二个问题,Chrome使用了两种不同的底层数据库技术:

WebSQL - > SQLite

IndexedDb - > LevelDB

我怀疑他们将WebSQL保持为SQLite,因为他们知道它有效.WebSQL现已弃用,在某些时候它将被删除,为什么他们会花时间将它移植到LevelDB.

在WebSQL/IndexedDb与底层数据库性能之间的性能方面,根据iOS Safari的经验,IndexedDb和WebSQL都使用SQLite数据库,但它们在底层数据库的构建方式和执行方式上存在很大差异.在我的测试中,我发现与iOS8中的Safari上的IndexedDb相比,WebSQL的速度是1000次简单数据库插入的两倍.

就你的上一个问题而言,我发现了这一点:

对于IE:

WebSQL - >不支持

IndexedDB - >可扩展存储引擎

对于Firefox:

WebSQL - >不支持

IndexedDB - > SQLite

对于Safari:

WebSQL - > SQLite

IndexedDB - > SQLite

对于Chrome:

WebSQL - > SQLite

IndexedDB - > LevelDB

(来源:WebKit项目,https://bugzilla.mozilla.org/show_bug.cgi ?id = 837141,http://www.aaron-powell.com/posts/2012-10-05-indexeddb-storage.html )



1> Jonathan Smi..:

为了解决第一个问题,的WebSQL从未在Internet Explorer或火狐(实施http://diveintohtml5.info/storage.html,http://caniuse.com/#feat=sql-storage).对于离开Chrome和Safari的"大浏览器"而言,两者都来自WebKit(尽管自从v28 Chrome开始运行在WebKit的分支上,称为'Blink').过去,这两种浏览器都使用SQLite作为WebSQL和IndexedDb的底层数据库,但Chrome将IndexedDb从SQLite切换到LevelDB.

要回答第二个问题,Chrome使用了两种不同的底层数据库技术:

WebSQL - > SQLite

IndexedDb - > LevelDB

我怀疑他们将WebSQL保持为SQLite,因为他们知道它有效.WebSQL现已弃用,在某些时候它将被删除,为什么他们会花时间将它移植到LevelDB.

在WebSQL/IndexedDb与底层数据库性能之间的性能方面,根据iOS Safari的经验,IndexedDb和WebSQL都使用SQLite数据库,但它们在底层数据库的构建方式和执行方式上存在很大差异.在我的测试中,我发现与iOS8中的Safari上的IndexedDb相比,WebSQL的速度是1000次简单数据库插入的两倍.

就你的上一个问题而言,我发现了这一点:

对于IE:

WebSQL - >不支持

IndexedDB - >可扩展存储引擎

对于Firefox:

WebSQL - >不支持

IndexedDB - > SQLite

对于Safari:

WebSQL - > SQLite

IndexedDB - > SQLite

对于Chrome:

WebSQL - > SQLite

IndexedDB - > LevelDB

(来源:WebKit项目,https://bugzilla.mozilla.org/show_bug.cgi ?id = 837141,http://www.aaron-powell.com/posts/2012-10-05-indexeddb-storage.html )


不幸的是,根据我自己的经验,如果您的webapp将在iOS Safari上运行,请不要将其移至IndexedDB.Apple的IndexedDB实现中存在太多错误,迁移到它会引入比修复更多的问题.
推荐阅读
  • 使用ArcGIS for Java和Flex浏览自定义ArcGIS Server 9.3地图
    本文介绍了如何在Flex应用程序中实现浏览自定义ArcGIS Server 9.3发布的地图。这是一个基本的入门示例,适用于初学者。 ... [详细]
  • 用阿里云的免费 SSL 证书让网站从 HTTP 换成 HTTPS
    HTTP协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的HTTP的网站是不 ... [详细]
  • 精选在线API编辑工具推荐
    本文将介绍几款优秀的在线API编辑工具,包括它们的功能特点和使用方法,帮助开发者提高工作效率。 ... [详细]
  • 开机自启动的几种方式
    0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
  • MySQL的查询执行流程涉及多个关键组件,包括连接器、查询缓存、分析器和优化器。在服务层,连接器负责建立与客户端的连接,查询缓存用于存储和检索常用查询结果,以提高性能。分析器则解析SQL语句,生成语法树,而优化器负责选择最优的查询执行计划。这一流程确保了MySQL能够高效地处理各种复杂的查询请求。 ... [详细]
  • 在Eclipse中提升开发效率,推荐使用Google V8插件以增强Node.js的调试体验。安装方法有两种:一是通过Eclipse Marketplace搜索并安装;二是通过“Help”菜单中的“Install New Software”,在名称栏输入“googleV8”。此插件能够显著改善调试过程中的性能和响应速度,提高开发者的生产力。 ... [详细]
  • V8不仅是一款著名的八缸发动机,广泛应用于道奇Charger、宾利Continental GT和BossHoss摩托车中。自2008年以来,作为Chromium项目的一部分,V8 JavaScript引擎在性能优化和技术创新方面取得了显著进展。该引擎通过先进的编译技术和高效的垃圾回收机制,显著提升了JavaScript的执行效率,为现代Web应用提供了强大的支持。持续的优化和创新使得V8在处理复杂计算和大规模数据时表现更加出色,成为众多开发者和企业的首选。 ... [详细]
  • 利用爬虫技术抓取数据,结合Fiddler与Postman在Chrome中的应用优化提交流程
    本文探讨了如何利用爬虫技术抓取目标网站的数据,并结合Fiddler和Postman工具在Chrome浏览器中的应用,优化数据提交流程。通过详细的抓包分析和模拟提交,有效提升了数据抓取的效率和准确性。此外,文章还介绍了如何使用这些工具进行调试和优化,为开发者提供了实用的操作指南。 ... [详细]
  • 在PHP中实现腾讯云接口签名,以完成人脸核身功能的对接与签名配置时,需要注意将文档中的POST请求改为GET请求。具体步骤包括:使用你的`secretKey`生成签名字符串`$srcStr`,格式为`GET faceid.tencentcloudapi.com?`,确保参数正确拼接,避免因请求方法错误导致的签名问题。此外,还需关注API的其他参数要求,确保请求的完整性和安全性。 ... [详细]
  • oracle c3p0 dword 60,web_day10 dbcp c3p0 dbutils
    createdatabasemydbcharactersetutf8;alertdatabasemydbcharactersetutf8;1.自定义连接池为了不去经常创建连接和释放 ... [详细]
  • Framework7:构建跨平台移动应用的高效框架
    Framework7 是一个开源免费的框架,适用于开发混合移动应用(原生与HTML混合)或iOS&Android风格的Web应用。此外,它还可以作为原型开发工具,帮助开发者快速创建应用原型。 ... [详细]
  • 秒建一个后台管理系统?用这5个开源免费的Java项目就够了
    秒建一个后台管理系统?用这5个开源免费的Java项目就够了 ... [详细]
  • 本文深入解析了 Kubernetes 控制平面(特别是 API 服务器)与集群节点之间的通信机制,并对其通信路径进行了详细分类。旨在帮助用户更好地理解和定制其安装配置,从而增强网络安全性,确保集群的稳定运行。 ... [详细]
  • 在使用达梦数据库时,管理员可能会遇到连接频繁中断或特定SQL语句语法错误的问题。这些问题通常源于开发人员在创建对象时的不规范操作。为了解决这些问题,建议对数据库配置进行优化,并确保所有SQL语句符合达梦数据库的标准语法。此外,定期检查和维护数据库连接参数,以及对异常日志进行详细分析,也有助于及时发现并解决问题。 ... [详细]
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
author-avatar
落叶野
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有