精华内容
下载资源
问答
  • 很多人担心它的性能和数据存储量问题。比如有的网友问:Sqlite数据库最大可以大呀?会不会像acc数据库那样,几十MB就暴掉了?不会的,放心用SQLite, 这是两个数量级的东西, 看下面的说明。Access不能真正意义上...

    sqlite是款不错的数据库,使用方便,不需要事先安装软件,事先建表。很多人担心它的性能和数据存储量问题。

    比如有的网友问:Sqlite数据库最大可以多大呀?会不会像acc数据库那样,几十MB就暴掉了?
    不会的,放心用SQLite, 这是两个数量级的东西, 看下面的说明。
    Access不能算真正意义上的数据库,但是Access是前台和后台在一起,对小用户还是有其优点。
    SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快。SQLite第一个Alpha版本诞生于2000年5月。 至今已经有14个年头,SQLite也迎来了一个版本 SQLite 3已经发布。 

    根据SQLite的官方提示:http://www.sqlite.org/limits.html
    SQLIte数据库最大支持128TiB(140 terabytes, or 128 tebibytes, or 140,000 gigabytes or 128,000 gibibytes).

    此外,关于性能。本人也在网上查了大量资料:

    在2011年,有网友发表观点:
    “不得了了,在7G文件大小下,6千万条记录的有索引某个表中,查询条件如果是索引字段,不管什么位置,查询都不要1ms时间。”
    “但如果查询条件不是索引字段的话,最后一条记录的查询竟然需要589秒啊,不是ms啊。在1千万条记录前插入1百万条记录需要120秒,在6千万条记录后插入1百万条记录需要156秒。“

    SQLite极致性能提升方法:
    关闭同步,Synchronous=Off,提升性能。添删改操作时不必同步等待写入磁盘,操作系统会延迟若干毫秒批量写入
    设置WAL模式,Journal Mode=WAL,减少锁定。写入向前日志模式,避免多线程访问时锁定数据库,写入时不必使用排它锁影响其它线程读取,而是把事务操作写入到WAL文件中,延迟合并
    加大缓存,Cache Size=5000,提升性能。操作系统通过文件映射MapFile把整个数据库文件映射进入内存,实际查询时会把用到数据所在附近页预先加载进入缓存,极大提升查询性能
    插入速度 5000~16000tps,依赖CPU,HDD/SSD差别不大,主要受限于SQLite.Data.dll的Prepare
    查询速度 非首次查询,缓存命中以后,索引查询基本上都是毫秒级。数据库较大则相应加大缓存,速度不变。
    查记录数 单表数据超过一千万行以后,尽量不要使用Select Count,否则可能需要十几秒到半分钟的样子才能返回。NewLife.XCode封装了'Meta.Count'

    当然,SQLite不适合多线程高并发写入,多线程高并发读取倒是非常不错。
    因为数据库就在进程内,高并发读取一般比其它RDS要快一大截。
    总的来说,SQLite数据库甭管多少数据多大库文件,只要配置得当,内存管够,性能不是太大问题!

    SQLite大数据测试
    为了验证SQLite的性能巅峰,我们来做一个大数据测试。
    模拟每天4亿票销售订单,分表分库,每天一个数据库文件,有订单号、部门节点、时间等。
    1, Test项目生成4亿行订单数据,主键自增ID,订单号建立索引,文件大小26.5G
    2, Web项目,魔方+XCode,首次查询较慢,约427毫秒,需要预热
    不同机器的首次查询时间偏差比较大,最大可能达到几秒钟
    本机第一次启动该项目时,魔方需要从公网下载SQLite驱动文件以及样式资源文件
    3, 第二页,99毫秒,操作系统文件映射缓存生效
    4, 第20000页,147毫秒,系统缓存依然生效
    5, 第200000页,32021毫秒,距离太远,文件系统缓存没有命中
    6, 第200001页,867毫秒,缓存命中
    7, 查询一个中间订单号000199999980,20毫秒,索引命中
    显然,只要有索引,多大数据都不怕。
    8, 本地内存占用150M。虽然整个数据库26.5G,但操作系统只会加载需要部分
    对于重要程度不是特别高的场合,可以大量使用SQLite库保存历史数据,平时用不到的时候只占硬盘,不占内存
    9, 记录数Select Count(select count(*)from xxx),362058毫秒,约6分钟,超级慢,这建议进行这种操作。

    转载于:https://www.cnblogs.com/derekhan/p/10897421.html

    展开全文
  • 很多人担心它的性能和数据存储量问题。 比如有的网友问:Sqlite数据库最大可以大呀?会不会像acc数据库那样,几十MB就暴掉了? 不会的,放心用SQLite, 这是两个数量级的东西, 看下面的说明。 Access不能真正意义...

    sqlite是款不错的数据库,使用方便,不需要事先安装软件,事先建表。很多人担心它的性能和数据存储量问题。

    比如有的网友问:Sqlite数据库最大可以多大呀?会不会像acc数据库那样,几十MB就暴掉了?
    不会的,放心用SQLite, 这是两个数量级的东西, 看下面的说明。
    Access不能算真正意义上的数据库,但是Access是前台和后台在一起,对小用户还是有其优点。
    SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快。SQLite第一个Alpha版本诞生于2000年5月。 至今已经有14个年头,SQLite也迎来了一个版本 SQLite 3已经发布。

    根据SQLite的官方提示:http://www.sqlite.org/limits.html
    SQLIte数据库最大支持128TiB(140 terabytes, or 128 tebibytes, or 140,000 gigabytes or 128,000 gibibytes).

    此外,关于性能。本人也在网上查了大量资料:

    在2011年,有网友发表观点:
    “不得了了,在7G文件大小下,6千万条记录的有索引某个表中,查询条件如果是索引字段,不管什么位置,查询都不要1ms时间。”
    “但如果查询条件不是索引字段的话,最后一条记录的查询竟然需要589秒啊,不是ms啊。在1千万条记录前插入1百万条记录需要120秒,在6千万条记录后插入1百万条记录需要156秒。“

    SQLite极致性能提升方法:
    关闭同步,Synchronous=Off,提升性能。添删改操作时不必同步等待写入磁盘,操作系统会延迟若干毫秒批量写入
    设置WAL模式,Journal Mode=WAL,减少锁定。写入向前日志模式,避免多线程访问时锁定数据库,写入时不必使用排它锁影响其它线程读取,而是把事务操作写入到WAL文件中,延迟合并
    加大缓存,Cache Size=5000,提升性能。操作系统通过文件映射MapFile把整个数据库文件映射进入内存,实际查询时会把用到数据所在附近页预先加载进入缓存,极大提升查询性能
    插入速度 5000~16000tps,依赖CPU,HDD/SSD差别不大,主要受限于SQLite.Data.dll的Prepare
    查询速度 非首次查询,缓存命中以后,索引查询基本上都是毫秒级。数据库较大则相应加大缓存,速度不变。
    查记录数 单表数据超过一千万行以后,尽量不要使用Select Count,否则可能需要十几秒到半分钟的样子才能返回。NewLife.XCode封装了'Meta.Count'

    当然,SQLite不适合多线程高并发写入,多线程高并发读取倒是非常不错。
    因为数据库就在进程内,高并发读取一般比其它RDS要快一大截。
    总的来说,SQLite数据库甭管多少数据多大库文件,只要配置得当,内存管够,性能不是太大问题!

    SQLite大数据测试
    为了验证SQLite的性能巅峰,我们来做一个大数据测试。
    模拟每天4亿票销售订单,分表分库,每天一个数据库文件,有订单号、部门节点、时间等。
    1, Test项目生成4亿行订单数据,主键自增ID,订单号建立索引,文件大小26.5G
    2, Web项目,魔方+XCode,首次查询较慢,约427毫秒,需要预热
    不同机器的首次查询时间偏差比较大,最大可能达到几秒钟
    本机第一次启动该项目时,魔方需要从公网下载SQLite驱动文件以及样式资源文件
    3, 第二页,99毫秒,操作系统文件映射缓存生效
    4, 第20000页,147毫秒,系统缓存依然生效
    5, 第200000页,32021毫秒,距离太远,文件系统缓存没有命中
    6, 第200001页,867毫秒,缓存命中
    7, 查询一个中间订单号000199999980,20毫秒,索引命中
    显然,只要有索引,多大数据都不怕。
    8, 本地内存占用150M。虽然整个数据库26.5G,但操作系统只会加载需要部分
    对于重要程度不是特别高的场合,可以大量使用SQLite库保存历史数据,平时用不到的时候只占硬盘,不占内存
    9, 记录数Select Count(select count(*)from xxx),362058毫秒,约6分钟,超级慢,这建议进行这种操作。

    展开全文
  • 从如何运用规范化原则到如何做成实际的数据库表,从如何保护数据库完整性到如何提高数据库的性能,从数据库的安全机制到并发事务控制,从数据库设计开发的常用模式到应用程序的数据访问策略,既有理论又紧扣实践。...
  • 从如何运用规范化原则到如何做成实际的数据库表,从如何保护数据库完整性到如何提高数据库的性能,从数据库的安全机制到并发事务控制,从数据库设计开发的常用模式到应用程序的数据访问策略,既有理论又紧扣实践。...
  •  本书发行之时,恰逢Oracle 11gR2 发布,新版本的设计已经开始面向数据中心,增加了更的技术特性,DBA们的眼光,也不再局限于数据库本身,而应该放眼更大的数据中心,建设这个更大的主题。因此,更希望本书对于...
  • 那么数据页与外部存储页、外部存储页与外部存储页是如何连接在一起的呢? 我们观察这一行: <pre><code> 3130 0000c390 61 61 00 00 00 02 00 00 00 04 00 00 00 26 00 00 |aa...........&..| 3131 ...
  • JDBC【PreparedStatment、批处理、处理二进制、自动主键、调用存储过程、函数】 JDBC【事务、元数据、改造JDBC工具类】 JDBC【数据库连接池、DbUtils框架、分页】 JDBC面试题都在这里 Druid数据库连接池就是这么简单...
  • Encrypted-SPJ-源码

    2021-03-26 03:51:31
    我通过使用加密的映​​射(EMM)作为预计存储支持选择,投影和联接操作的加密索引方案的原语来解决这种泄漏。 我实现了两种方法来计算具有不同泄漏配置文件的连接,客户端后处理的数量以及服务器返回的带宽...
  • 1.3.4 如果让你来设计一个支持数据库、NOSQL 和大数据之间数据实时流动的数据流及处理的系统,你会考虑哪些问题?如何设计? 1.3.5 给定一个整数数组和一个整数,返回两个数组的索引,这两个索引指向的数字的加和...
  • 他包含了指纹生成,数据库存储,和简易的服务器和客户端。他通过生成和记录音乐指纹,能够识别来自麦克风、文件等各个来源的音乐,并且有很高的抗噪性,同时他对文件属性和音乐质量不敏感。你可以使用服务器给手机...
  • 区块链环境安装

    2021-05-12 14:31:11
    跟传统的分布式存储有所不同,区块链的分布式存储的独特性主要体现在两个方面:一是区块链每个节点都按照块链式结构存储完整的数据,传统分布式存储一般是将数据按照一定的规则分成份进行存储。二是区块链每个...
  •  对存储数据库中的数据来说,随机数特性能给出上面的效果,但它们可能太慢了些。你不能要求ASP“找个随机数”然后打印出来。实际上常见的解决方案是建立如下所示的循环: Randomize RNumber = Int(Rnd*499) +1 ...
  •  ArrayList 和Vector都是使用数组方式存储数据,此数组元素数大于实际存储数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,...
  • A) 数据说明条目、控制流条目、加工条目、数据存储条目 B) 数据流条目、数据项条目、文件条目、加工条目 C) 数据源条目、数据流条目、数据处理条目、数据文件条目 D) 数据流条目、数据文件条目、数据池条目、...
  • JAVA面试题最全集

    2010-03-13 13:09:10
    1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。 2.字符串的操作: 写一个方法,实现字符串的反转,如:输入abc,输出cba 写一个方法,实现字符串的替换,如:输入bbbwlirbbb,输出...
  • java 面试题 总结

    2009-09-16 08:45:34
    ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector...
  • java面试题典 java 面试题 经典

    热门讨论 2010-06-18 13:42:36
    6. 说出ArrayList,Vector, LinkedList的存储性能和特性。 8 7. Collection 和 Collections的区别。 8 8. &和&&的区别 8 9. HashMap和Hashtable的区别。 8 10. final, finally, finalize的区别。 9 11. Overload和...
  • openssl-1.0.0a

    热门讨论 2010-06-19 12:33:49
    我们不知道你将需要多少时间来完成这项有趣而可怕的工作,但肯定不是一年两年的问题。 首先,应该感谢Eric A. Young和Tim J. Hudson,他们自1995年开始编写后来具有巨大影响的OpenSSL软件包,更令我们高兴的是,这是...
  • GnuCash 提供了四种存储格式,xml 格式有定期的数据备份(sqlite3 似乎没有),数据库放在云同步软件(Dropbox 或者坚果云)中就可以轻松实现终端同步使用了。 快速录入 科目快速补全(Quickfill) 对中文用户来...
  • 测试培训教材

    2014-04-01 12:10:48
    修改数据库中的数据: 修改后可以登陆 但是还需要修改以前Project的数据库连接属性 否则会提示错误 然后还要修改 C:\Program Files\Mercury\Quality Center\repository\qc中的dbcon.txt: qcsiteadmin_...
  • Java面试宝典2010版

    2011-06-27 09:48:27
    18、一个用户表中有一个积分字段,假如数据库中有100万个用户,若要在每年第一天凌晨将积分清零,你将考虑什么,你将想什么办法解决? 19、一个用户具有个角色,请查询出该表中具有该用户的所有角色的其他用户。...
  • OpenSSL-1_0_0d_Win32

    热门讨论 2011-04-13 17:57:46
    我们不知道你将需要多少时间来完成这项有趣而可怕的工作,但肯定不是一年两年的问题。 首先,应该感谢Eric A. Young和Tim J. Hudson,他们自1995年开始编写后来具有巨大影响的OpenSSL软件包,更令我们高兴的是,这是...
  • 最新Java面试宝典pdf版

    热门讨论 2011-08-31 11:29:22
    18、一个用户表中有一个积分字段,假如数据库中有100万个用户,若要在每年第一天凌晨将积分清零,你将考虑什么,你将想什么办法解决? 107 19、一个用户具有个角色,请查询出该表中具有该用户的所有角色的其他...
  • Java面试宝典-经典

    2015-03-28 21:44:36
    18、一个用户表中有一个积分字段,假如数据库中有100万个用户,若要在每年第一天凌晨将积分清零,你将考虑什么,你将想什么办法解决? 107 19、一个用户具有个角色,请查询出该表中具有该用户的所有角色的其他...
  • Java面试宝典2012版

    2012-12-03 21:57:42
    18、一个用户表中有一个积分字段,假如数据库中有100万个用户,若要在每年第一天凌晨将积分清零,你将考虑什么,你将想什么办法解决? 107 19、一个用户具有个角色,请查询出该表中具有该用户的所有角色的其他...

空空如也

空空如也

1 2 3
收藏数 43
精华内容 17
关键字:

数据库存储多少数据算多