05.19 MySQL面试必知必会

innodb与myisam的区别

1.InnoDB支持事物,而MyISAM不支持事物
2.InnoDB支持行级锁,而MyISAM支持表级锁
3.InnoDB支持MVCC, 而MyISAM不支持
4.InnoDB支持外键,而MyISAM不支持
5.InnoDB不支持全文索引,而MyISAM支持。
6.InnoDB不能通过直接拷贝表文件的方法拷贝表到另外一台机器, myisam 支持
7.InnoDB表支持多种行格式, myisam 不支持
8.InnoDB是索引组织表, myisam 是堆表

varchar和char的区别

在单字节字符集下, char( N) 在内部存储的时候总是定长, 而且没有变长字段长度列表中。 在多字节字符集下面, char(N)如果存储的字节数超过 N,那么 char( N)将和 varchar( N)没有区别。在多字节字符集下面,如果存
储的字节数少于 N,那么存储 N 个字节,后面补空格,补到 N 字节长度。 都存储变长的数据和变长字段长度列表。 varchar(N)无论是什么字节字符集,都是变长的,即都存储变长数据和变长字段长度列表。

int(20)与int(11)有什么区别

20、11是指显示字符的长度
不影响内部存储,只是影响带 zerofill 定义的 int 时,前面补多少个 0,易于报表展示

mysql事务隔离级别,并且每种级别都是解决什么问题

读未提交(read uncommitted) 存现脏读现象
读已提交(read committed) 允许不可重复读,但不应许脏读
可重复读(repeatable read) 脏读、不可重复读都不允许,允许幻读
串行(serializable) 事务串行执行

数据库如何优化

SQL语句优化

索引优化
配置优化
硬件优化根据实际情况说说


分享到:


相關文章: