基础问题,就性能而言char varchar varchar2 哪个好?三者有什么不同?谢谢。

bingo80 2007-06-04 11:20:56
基础问题,就性能而言char varchar varchar2 哪个好?三者有什么不同?谢谢。
...全文
325 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangwest 2007-06-04
  • 打赏
  • 举报
回复
要根据需要确定
bingo80 2007-06-04
  • 打赏
  • 举报
回复
另:存储、访问varchar(12)理论上比varchar2(10)要快吧,我觉得像内存对齐那样数据库的性能也受字节对齐的影响。
icefirelxb 2007-06-04
  • 打赏
  • 举报
回复
1.CHAR的长度是固定的,而VARCHAR2的长度是可以变化的, 比如,存储字符串“abc",对于CHAR (20),表示你存储的字符将占20个字节(包括17个空字符),而同样的VARCHAR2 (20)则只占用3个字节的长度,20只是最大值,当你存储的字符小于20时,按实际长度存储。
2.CHAR的效率比VARCHAR2的效率稍高。
3.目前VARCHAR是VARCHAR2的同义词。工业标准的VARCHAR类型可以存储空字符串,但是oracle不这样做,尽管它保留以后这样做的权利。Oracle自己开发了一个数据类型VARCHAR2,这个类型不是一个标准的VARCHAR,它将在数据库中varchar列可以存储空字符串的特性改为存储NULL值。如果你想有向后兼容的能力,Oracle建议使用VARCHAR2而不是VARCHAR。
ccraobb 2007-06-04
  • 打赏
  • 举报
回复
变长的
bingo80 2007-06-04
  • 打赏
  • 举报
回复
另, varchar2 ( 32) 应该是定长的吧?
bingo80 2007-06-04
  • 打赏
  • 举报
回复
三种类型有什么不同?另访问定长的、字节对齐(如长度为4 8 12 ) 应该比不定长的、字节不对齐的快吧。

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧