1、手机号存成什么类型,长度多长?
可以存成varchar(20)
出处:数据库设计-电话号码长度_weixin_34019144的博客-CSDN博客
没看懂……
2、字符集是哪个?需要注释吗?
一般选择utf8
3、工作中使用存储过程、视图、触发器、Event?
在工作中禁止使用存储过程、视图、触发器、Event
解读:高并发大数据的互联网业务,架构设计思路是“解放数据库CPU,将计算转移到服务层”,并发量大的情况下,这些功能很可能将数据库拖死,
业务逻辑放到服务层具备更好的扩展性,能够轻易实现“增机器就加性能”。数据库擅长存储与索引,CPU计算还是上移吧
4、主外键做什么,实际中你们用吗?
表中经常有一个列或多个列的组合,其值能唯一的标识表中的每一行。这样的一列或多列称为表的主键。
外键:用来表示表与表之间联系,是表中的一个列。
主键和外键都是用于维护数据库完整性的一种机制。
区别:1、主键是唯一标识一条记录,不能重复,不允许为空;而外键可以重复,可以是空值;
2、主键是用来保持数据完整性,外键是用来建立与其他表联系用的;
3、主键只有一个,外键可以有多个。
表必须有主键,例如自增主键
a)主键递增,数据行写入可以提高插入性能,可以避免page分裂,减少表碎片提升空间和内存的使用
b)主键要选择较短的数据类型, Innodb引擎普通索引都会保存主键的值,较短的数据类型可以有效的减少索引的磁盘空间,提高索引的缓存效率
c) 无主键的表删除,在row模式的主从架构,会导致备库夯住
禁止使用外键,如果有外键完整性约束,需要应用程序控制
解读:外键会导致表与表之间耦合,update与delete操作都会涉及相关联的表,十分影响sql 的性能,甚至会造成死锁。高并发情况下容易造成数据库性能
4、索引怎么用?
5、存储过程用吗?
1、存储过程集合了sql语句并且缓存,大大提高语言执行效率
2、增加安全性
3、保证原子性
6、什么时候用TEXT、BLOB类型?大文件或者大照片怎么存的?
7、你们使用什么引擎?
8、int(11),是什么意思,varchar(20)是什么意思?
int表示数据类型为整型,int(11)是限制数据长度最长为11,int类型的最大长度是11
varchar表示数据为字符串,varchar(20)是限制数据长度最长为20
9、删除命令你知道哪些?
删除表:drop table tablename 不可回滚; truncate tablename; 不可回滚
删除表中数据:delete from table where,没有条件时删除所有数据,可回滚
10、你了解事务吗?
事务就是「一组原子性的SQL查询」,或者说一个独立的工作单元。如果数据库引擎能够成功地对数据库应用该组查询的全部语句,那么就执行该组查询。如果其中有任何一条语句因为崩溃或其他原因无法执行,那么所有的语句都不会执行。也就是说,事务内的语句,要么全部执行成功,要么全部执行失败。