大佬教程收集整理的这篇文章主要介绍了HTML5 Web SQL DB – 最大表大小?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
一切都与测试数据相符,然后我尝试使用一些真实的数据(一个大约10列和超过180,000行的表)并遇到了一些问题.
我在500个插入的“块”中发送sql响应,然后运行事务并从Web服务获取下一个响应.这工作正常,直到表达到大约9000行,然后它就不再需要了.此时数据库文件大小仍然低于2MB,我的最大大小设置为20MB,所以我不认为这是问题.
我设法用更简单的代码重新创建类似的问题,所以其他人可以看到我在说什么. (出于某种原因,我不能把它全部留在“代码块”(对不起))
//var qsParm = new Array(); var bigData = {}; bigData.webdb = {}; var readOnly = false; bigData.webdb.open = function() { bigData.webdb.db = null; var dbSize = 20 * 1024 * 1024; // 20MB infinity.webdb.db = openDatabase('bigData','','bigData DATA',dbSizE); }; bigData.webdb.onError = function(tx,E) { alert('Something unexpected happened: ' + e.messagE); }; bigData.webdb.createTable = function() { var db = bigData.webdb.db; db.transaction(function(tx) { tx.executesql("create table IF NOT EXISTS [MattTest] ([Foo] VARCHAR(32) PRIMary KEY ASC,[Bar] VARCHAR(20),[Will] VARCHAR(100),[Smith] VARCHAR(100))",[]); }); db.transaction(function(tx) { var i=0; for(i=0; i<19000; i++) tx.executesql("INSERT INTO [MattTest] (Foo,Bar,Will,Smith) VALUES (?,?,?)",['Foo' + i,'Bar','Now this is the story all about how My life got flipped turned upside down','And Id like to take a minute just sit right there Ill tell you how I became the prince of a town called Bel Air']); } }); };
请忽略字符串值,它只是填充varchar大小(sqlite似乎不填充char类型).
在上面的“19000”次迭代(或下面的任意数字)中,将在Chrome中创建表格,并正确输入所有数据.数据库大约4MB. Safari会让我添加更多行,我在Safari中的数据库大小可达10MB左右.
如果我尝试@L_489_19@表格的内容并将迭代次数增加到20,000,则Chrome无法完成交易.
有没有人对可能导致这种情况的原因有任何想法?
我希望我已经详细解释了这个问题.如果我太模糊,请随时提出任何问题.
谢谢你的帮助.
以上是大佬教程为你收集整理的HTML5 Web SQL DB – 最大表大小?全部内容,希望文章能够帮你解决HTML5 Web SQL DB – 最大表大小?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。