笔试面试常考的一些小知识

来源:互联网 发布:查看java进程 编辑:程序博客网 时间:2024/05/16 14:14

1、char和varchar

(1)CHAR(10)是不可变长度为10的字符串,占的存储空间始终为10个字符的长度,而VARCHAR(10)是可变长度的字符串,故而可以节省空间。例如:
储存"aaaaabbbbb",则CHAR(10)需要10个字符的空间来储存,VARCHAR(10)也需要10个字符的空间;
储存"aaa",则CHAR(10)需要10个字符的空间来储存,而VARCHAR(10)只需要3个字符的空间。
搜索虽然每个记录节省的空间有限,但是记录很多的时候,节省的空间是很惊人的。
另外,推荐用VARCHAR2代替VARCHAR。因为Oracle今后会将VARCHAR作为其他用途。VARCHAR2目前和VARCHAR是完全相同的数据类型。
(2)CHAR的效率比VARCHAR2的效率稍高。

2、int(n)

int(M) 在 integer 数据类型中,M 表示最大显示宽度。
在 int(M) 中,M 的值跟 int(M) 所占多少存储空间并无任何关系。 int(3)、int(4)、int(8) 在磁盘上都是占用 4 btyes 的存储空间。说白了,除了显示给用户的方式有点不同外,int(M) 跟 int 数据类型是相同的。

如果int的值为10
int(10)显示结果为0000000010
int(3)显示结果为010
就是显示的长度不一样而已 都是占用四个字节的空间