日期:2014-05-16 浏览次数:20545 次
varchar和varchar2虽然比char节省空间,但是如果一个varchar和varchar2列经常被修改,而且每次被修改的数据的长度不同,这会引起‘行迁移’(Row Migration)现象,而这造成多余的I/O,是数据库设计和调整中要尽力避免的,在这种情况下用char代替varchar和varchar2会更好一些。
??? 当然还有一种情况就是象身份证这种长度几乎不变的字段可以考虑使用char,以获得更高的效率。
?
???2。varchar和varchar2
????这里就进入重点了,前面的区别我们在sql server中我们已经基本了解了,但oracle增加了一个varchar2类型,是大家以前所没有用到过的。
???? 因为oracle保证在任何版本中该数据类型向上和向下兼容,但不保证varchar,还有其他数据中一般都有varchar这个数据类型。
???? 所以我得出了以下结论:
???? 如果想在oracle新版本的数据库兼容就不要用varchar,如果想和oracle之外其他数据库兼容就不要用varchar2。