sqlite3 数据类型问题 20
我看到sqlite3里数据类型就只有5种,NULL,INTEGER,REAL,TEXT,BLOB。这样的话,在建表的时候下面这两种会有什么区别,性能上有什么提高吗?cre...
我看到sqlite3里数据类型就只有5种,NULL,INTEGER,REAL,TEXT,BLOB。
这样的话,在建表的时候下面这两种会有什么区别,性能上有什么提高吗?
create table a (
t text
)
create table a (
t varchar(20)
)
直接指定varchar长度会有用么,我看到sqlite3里varchar其实都是text 展开
这样的话,在建表的时候下面这两种会有什么区别,性能上有什么提高吗?
create table a (
t text
)
create table a (
t varchar(20)
)
直接指定varchar长度会有用么,我看到sqlite3里varchar其实都是text 展开
3个回答
展开全部
两者在空间上有很大区别
首先 varchar 是一个空间可变的类型.比如 varchar(20),那么表示这个字段最多能存储20个字符,但是当里面只存 一个字符的时候,这个字段占的空间就是1,空间是跟着存入的字符的多少而变的.
而 text 用来存储大量的非统一编码型字符数据,空间大小不限制.但是在查询的时候 速度会受到限制.
比如一个新闻表,一般可以将 标题设置为 varchar,内容可以设置为 text 这样才能有效的提高系统的效率.
首先 varchar 是一个空间可变的类型.比如 varchar(20),那么表示这个字段最多能存储20个字符,但是当里面只存 一个字符的时候,这个字段占的空间就是1,空间是跟着存入的字符的多少而变的.
而 text 用来存储大量的非统一编码型字符数据,空间大小不限制.但是在查询的时候 速度会受到限制.
比如一个新闻表,一般可以将 标题设置为 varchar,内容可以设置为 text 这样才能有效的提高系统的效率.
追问
你确定对于SQLITE3来讲,也是这样的?
追答
是的.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询