想对主流几种数据库的性能做个比较,方便以后做项目时加以选择。
目前先打算做MS-SQL、ACCESS,ORACLE在数据库各种机制的区别,性能参数等。,DB2,SYBASE,MYSQL部分有待以后补充。
SQL Server 2000/2005 | Oracle 9i | Access | |
适用范围: | 中型企业/大型企业 | 大型企业 | 个人,小企业 |
数据类型 | (整型)int,smallint,tinyint,bigint (货币型)money,smallmoney (日期型)datetime,smalldatetime (文本型)text,ntext (字符串型)char(n),varchar(n),nchar,nvarchar (浮点型)float,real,numerile,decimal (位置型)bit (万能型)sql_variant 其他:binary,timestamp | (数字型)NUMBER,BINARY_INTEGER,DEC,DOUBLE PRECISION,INTEGER,INT,NUMERIC,REAL,SMALLINT (字符型)VARCHAR2,CHAR,LONG (日期型)DATE (布尔型)BOOLEAN (ROWID类型)ROWID | |
表 | 允许每个库中最多有2000000个表。每个表最多允许有1024个列,每行最多允许有8060个字节。 | ||
常规规格 | 详见:Microsoft Access 数据库常规规格 <script language="javascript" type="text/javascript">document.title="Microsoft Access 数据库常规规格 - "+document.title</script> | ||
以上没有填上的尚待求证和补充,未完待续,整理ing。。。
MYSQL各字段的长度是多少?
见下表:
序号 | 列类型 | 需要的存储量 |
1 | TINYINT | 1 字节 |
2 | SMALLINT | 2 个字节 |
3 | MEDIUMINT | 3 个字节 |
4 | INT | 4 个字节 |
5 | INTEGER | 4 个字节 |
6 | BIGINT | 8 个字节 |
7 | FLOAT(X) | 4 如果 X < = 24 或 8 如果 25 < = X < = 53 |
8 | FLOAT | 4 个字节 |
9 | DOUBLE | 8 个字节 |
11 | DOUBLE PRECISION | 8 个字节 |
12 | REAL | 8 个字节 |
13 | DECIMAL(M,D) | M字节(D+2 , 如果M < D) |
14 | NUMERIC(M,D) | M字节(D+2 , 如果M < D) |
日期和时间类型
序号 | 列类型 | 需要的存储量 |
1 | DATE | 3 个字节 |
2 | DATETIME | 8 个字节 |
3 | TIMESTAMP | 4 个字节 |
4 | TIME | 3 个字节 |
5 | YEAR | 1 字节 |
串类型
序号 | 列类型 | 需要的存储量 |
1 | CHAR(M) | M字节,1 <= M <= 255 |
2 | VARCHAR(M) | L+1 字节, 在此L <= M和1 <= M <= 255 |
3 | TINYBLOB,TINYTEXT | L+1 字节, 在此L< 2 ^ 8 |
4 | BLOB, TEXT | L+2 字节, 在此L< 2 ^ 16 |
5 | MEDIUMBLOB, MEDIUMTEXT | L+3 字节, 在此L< 2 ^ 24 |
6 | LONGBLOB, LONGTEXT | L+4 字节, 在此L< 2 ^ 32 |
7 | ENUM('value1','value2',...) | 1 或 2 个字节, 取决于枚举值的数目(最大值65535) |
8 | SET('value1','value2',...) | 1,2,3,4或8个字节, 取决于集合成员的数量(最多64个成员) |