热门标签 | 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实现中存在太多错误,迁移到它会引入比修复更多的问题.
推荐阅读
  • FIN7后门工具伪装成白帽工具进行传播
    fin7,后门,工具,伪装,成,白, ... [详细]
  • css元素可拖动,如何使用CSS禁止元素拖拽?
    一、用户行为三剑客以下3个CSS属性:user-select属性可以设置是否允许用户选择页面中的图文内容;user-modify属性可以设置是否允许输入 ... [详细]
  • 前端~javascript~webAPI/文档对象模型Dom/Dom树/事件机制/操作元素/实战案例:实现网页计数器
    文章目录WebAPI简介DomDom树获取Dom元素事件事件三要素操作dom元素innerHTMLinnerText实战案例:实现网页计数器WebAPI简介什么是AP ... [详细]
  • 本文比较了eBPF和WebAssembly作为云原生VM的特点和应用领域。eBPF作为运行在Linux内核中的轻量级代码执行沙箱,适用于网络或安全相关的任务;而WebAssembly作为图灵完备的语言,在商业应用中具有优势。同时,介绍了WebAssembly在Linux内核中运行的尝试以及基于LLVM的云原生WebAssembly编译器WasmEdge Runtime的案例,展示了WebAssembly作为原生应用程序的潜力。 ... [详细]
  • Ubuntu安装常用软件详细步骤
    目录1.GoogleChrome浏览器2.搜狗拼音输入法3.Pycharm4.Clion5.其他软件1.GoogleChrome浏览器通过直接下载安装GoogleChro ... [详细]
  • 2016 linux发行版排行_灵越7590 安装 linux (manjarognome)
    RT之前做了一次灵越7590黑苹果炒作业的文章,希望能够分享给更多不想折腾的人。kawauso:教你如何给灵越7590黑苹果抄作业​zhuanlan.z ... [详细]
  • JavaScript简介及语言特点
    本文介绍了JavaScript的起源和发展历程,以及其在前端验证和服务器端开发中的应用。同时,还介绍了ECMAScript标准、DOM对象和BOM对象的作用及特点。最后,对JavaScript作为解释型语言和编译型语言的区别进行了说明。 ... [详细]
  • 本文介绍了网页播放视频的三种实现方式,分别是使用html5的video标签、使用flash来播放以及使用object标签。其中,推荐使用html5的video标签来简单播放视频,但有些老的浏览器不支持html5。另外,还可以使用flash来播放视频,需要使用object标签。 ... [详细]
  • 如何压缩网站页面以减少页面加载时间
    本文介绍了影响网站打开时间的两个因素,即网页加载速度和网站页面大小。重点讲解了如何通过压缩网站页面来减少页面加载时间。具体包括图片压缩、Javascript压缩、CSS压缩和HTML压缩等方法,并推荐了相应的压缩工具。此外,还提到了一款Google Chrome插件——网页加载速度分析工具Speed Tracer。 ... [详细]
  • 本文整理了常用的CSS属性及用法,包括背景属性、边框属性、尺寸属性、可伸缩框属性、字体属性和文本属性等,方便开发者查阅和使用。 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了markdown[软件代理设置]相关的知识,希望对你有一定的参考价值。 ... [详细]
  • CSS|网格-行-结束属性原文:https://www.gee ... [详细]
  • 对Firefoxios源码的精简Firefox的依赖使用carthage来进行管理,国内的网络是在过于坑爹,相关的依赖包总是无法下载下来,花了两天时间,手动将Firefox所依赖的库导入 ... [详细]
  • this prototype 闭包 总结
    this对象整理下思路:一般用到this中的情景:1.构造方法中functionA(){this.nameyinshen;}varanewA() ... [详细]
  • Scrapy 爬取图片
    1.创建Scrapy项目scrapystartprojectCrawlMeiziTuscrapygenspiderMeiziTuSpiderhttps:movie.douban.c ... [详细]
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社区 版权所有