SQLite这么娇小可爱,不多了解点都不行啊
来源:互联网 发布:台服网络加速器 编辑:程序博客网 时间:2024/04/29 11:17
在我眼里,MySQL和Oracle是这样的
而SQLite在是这样的
所以这么萌的数据库,我真的应该多了解她的。
简介
1. Zero-Configuration 无需安装和管理配置。
2. Serverless 无需服务器支持。
3. Single Database File 数据文件存储在一个单一的磁盘文件。
4. Stable Cross-Platform Database File 数据库文件格式跨平台,无论是大小端,或者是32bit或64bit机器都没有关系
5. Compact 完整特性的SQLite编译出来在500KiB左右,裁剪特性甚至可以得到低于300KiB的库(当前版本3.8.11.1)。
6. Manifest typing 可以声明数据库字段类型,但是字段存储的类型实际的存储类型和实际值相关,单独的一个字段可能包含不同存储类的值。
7. Variable-length records 可变长度记录,例如你存储一个字符到VARCHAR(100) 的列,实际需要的存储空间一个字符加一个字节的存储空间。
8. SQL statements compile into virtual machine code SQL语句会被编译成虚拟机代码,这种虚拟机代码直白可读,便于调试。
9. Public domain 完全开源。
10. SQL language extensions
主要缺点
SQLite的事务和锁是很重要的概念。
锁
SQLite有三种不同的事务
1. DEFERRED(推迟)
2. MMEDIATE(立即)
3. EXCLUSIVE(排它)
事务类型在BEGIN命令中指定:
DEFERRED
由BEGIN开始的IMMEDIATE事务会尝试获取RESERVED锁。如果成功,BEGIN IMMEDIATE保证没有别的连接可以写数据库。但是,别的连接可以对数据库进行读操作;但是,RESERVED锁会阻止其它连接的BEGIN IMMEDIATE或者BEGIN EXCLUSIVE命令,当其它连接执行上述命令时,会返回SQLITE_BUSY错误。这时你就可以对数据库进行修改操作了,但是你还不能提交,当你COMMIT时,会返回SQLITE_BUSY错误,这意味着还有其它的读事务没有完成,得等它们执行完后才能提交事务。
EXCLUSIVE
<p style="color: rgb(46, 46, 46);" sans",="" open="">EXCLUSIVE事务会试着获取对数据库的EXCLUSIVE锁。这与IMMEDIATE类似,但是一旦成功,EXCLUSIVE事务保证没有其它的连接,所以就可对数据库进行读写操作了。
死锁
- SQLite这么娇小可爱,不多了解点都不行啊
- SQLite这么娇小可爱,不多了解点都不行啊
- 下载点东西都这么无奈...
- 项目开发,我的名字不可能这么可爱——使用XML和Sqlite处理数据
- [不点不行]新奴隶时代,新乞丐时代[原创]
- 形成不行不行不能行
- 原来大熊猫是这么可爱!
- 这么可爱,我都想养一只了
- 那些可爱到不行的句子
- 浮出水面,不写不行啊
- 太强了,不转不行啊
- 连十分钟都坚持不了,学长你不行啊!
- 来点可爱的!
- 这分这么难刷不知道行不行啊 不行的花 妈的比要下吗了
- VS2010项目加载全部解决方案都不可用重新加载和新建项目一个个加载都不行
- 不会点SQLite,都不好意思说自己是开发的
- 了解sqlite
- 不行啊
- DMA控制器
- HTML空格占位符
- 再探cocos2d-x-----(1)
- JDBC ORACLE BLOB处理
- jQuery笔记
- SQLite这么娇小可爱,不多了解点都不行啊
- Android文件下载案例(一)
- 黑马程序员_常用API之String类
- Quartz cornTrigger表达式讲解
- 迎接挑战2
- 浮点数2
- 计算子串在主串中的位置及其优化(KMP算法)
- sqc文件的编译过程
- 十、从头到尾彻底理解傅里叶变换算法、上