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来讲,也是这样的?
追答
是的.
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询