1、varchar和char的区别(多选题) ABCD
A
char是固定长度字符串类型
B
varchar是可变长度字符串类型
C
两者的存储数据都非unicode的字符数据
D
char的存取速度还是要比varchar要快得多
2、MySQL中,以下能够删除一列的是()? C
A
alter table students drop age tinyint unsigned
B
alter table students remove age
C
alter table students drop age
D
alter table students delete age tinyint unsigned
InnoDB主要特性有,
(1) InnoDB给MySQL提供了具有提交、回滚和崩溃恢复能力的事务安全(ACID兼容)存储引擎。InnoDB锁定在行级并且也在SELECT语句中提供一个类似Oracle的非锁定读。这些功能增加了多用户部署和性能。在SQL查询中,可以自由地将InnoDB类型的表和其他MySQL的表类型混合起来,甚至在同一个查询中也可以混合。
(2) InnoDB是为处理巨大数据量的最大性能设计。他的CPU效率可能是任何其他基于磁盘的关系型数据库引擎锁不能匹敌的。
(3) InnoDB存储引擎完全与MySQL服务器整合,InnoDB存储引擎为在主内存中缓存数据和索引而维持他自己的缓冲池。InnoDB将他的表和索引在一个逻辑表空间中,表空间可以包含数个文件(或原始磁盘文件)。这与MyISAM表不同,比如在MyISAM表中每个表被存放在分离的文件中。InnoDB表可以是任何尺寸,即使在文件尺寸被限制为2GB的操作系统上。
(4) InnoDB支持外键完整性约束,存储表中的数据时,每张表的存储都按主键顺序存放,如果没有显示在表定义时指定主键,InnoDB会为每一行生成一个6字节的ROWID,并以此作为主键。
(5) InnoDB被用在众多需要高性能的大型数据库站点上,InnoDB不创建目录,使用InnoDB时,MySQL将在MySQL数据目录下创建一个名为ibdata1的10MB大小的自动扩展数据文件,以及两个名为ib_logfile0和ib_logfile1的5MB大小的日志文件。
(6) 可以通过自动增长列,方法是auto_increment。
(7) 支持事务。默认的事务隔离级别为可重复度,通过MVCC(并发版本控制)来实现的。
(8) 使用的锁粒度为行级锁,可以支持更高的并发。
(9) 支持外键约束,外键约束其实降低了表的查询速度,但是增加了表之间的耦合度。
(10) 配合一些热备工具可以支持在线热备份。
(11) 在InnoDB中存在着缓冲管理,通过缓冲池,将索引和数据全部缓存起来,加快查询的速度。
(12) 对于InnoDB类型的表,其数据的物理组织形式是聚簇表。所有的数据按照主键来组织。数据和索引放在一块,都位于B+数的叶子节点上。