现代数据库一般都支持CHAR与VARCHAR字符型字段类型,CHAR是用来保存定长字符,存储空间的大小为字段定义的长度,与实际字符长度无关,当输入的字符小于定义长度时最后会补上空格。VARCHAR是用来保留变长字符,在数据库中存储空间的大小是实际的字符长度,不会像CHAR一样补上空格,这样占用的空间更少。
从以上特点来看,VARCHAR比CHAR有明显的优势,因此大部份数据库设计时都应该采用VARCHAR类型。那为什么还需要CHAR类型呢,个人认为有以下几个原因:
1、为了跟以前版本的数据库进行一个兼容,因为很久以前数据库只支持CHAR类型,有些应用的业务逻辑也只是针对CHAR类型设计的,所以数据库软件也就一直保留CHAR类型。
2、CHAR类型是定长的,一些数据库可以在每条记录中不存储字段长度信息,这样可以节省部份空间,也可以方便做一些内存对齐提高性能,但个人认为这带来的性能提升非常微小,至少ORACLE数据库是没有意义的。
3、还有说法是有些数据经常修改,长度可能变化,会引起碎片,采用CHAR就不会产生碎片,这个说法比较多,但我认为既然长度会变化,那用VARCHAR更能节省内存与存储空间来提升性能,只要数据块预留的空间没有问题,采用VARCHAR性能更好。
对于ORACLE数据库,我找不到充足的理由来使用CHAR类型,而且CHAR还会带来讨厌的空格,有些文章说MYSQL的MYISAM存储引擎在和长度固定的情况下CHAR比VARCHAR好,这个没有测试过,不太了解。
新安装了
jdk
6
的程序员们也许会发现,除了传统的
bin、jre
等目录,jdk
6
新增了一个名为
db
的目录。这便是
java
6
的新成员:java
db。这是一个纯
java
实现、开源的数据库管理系统(dbMS),源于
Apache
软件基金会(asf)名下的项目
Derby。它只有
2MB
大小,对比动辄上
G
的数据库来说可谓袖珍。但这并不妨碍
Derby
功能齐备,支持几乎大部分的数据库应用所需要的特性。更难能可贵的是,依托于
asf
强大的社区力量,Derby
得到了包括
ibm
和
Sun
等大公司以及全世界优秀程序员们的支持。这也难怪
Sun
公司会选择其
1022
版本纳入到
jdk
6
中,作为内嵌的数据库。这就好像为
jdk
注入了一股全新的活力:java
程序员不再需要耗费大量精力安装和配置数据库,就能进行安全、易用、标准、并且免费的数据库编程。在这一章中,我们将初窥
java
db
的世界,来探究如何使用它编写出功能丰富的程序。
以上就是关于Derby 数据库 用什么字段来存取 大字符串全部的内容,包括:Derby 数据库 用什么字段来存取 大字符串、Java语言运用derby数据库实现成绩查询管理系统,百分急求可追加、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)