为了提高sql执行效率应该把表中所有字段都设置为索引? 不能,mysql表字段过多的情况下,还需要维护多个索引。索引多了相对慢,尤其是修改删除增加等操作。 原因就是数据记录修改的同时还要修改对应索引。 如何判断哪些字段添加索引? where+常用条件(索引) 主键为何更倾向于数字组合? 时间戳+有特殊意义的数字串 京东/天猫,每天产生大量order,查询某一时间断内的order或者要对order进行一排序 字符串排序不是用户想要的,一般用自增,便于管理操作。 一次插入大量数据如何优化? 1.分批插入,减少对其他操作的影响,减少事务的使用 2.视情况而定关闭事务(事务很消耗数据库性能) 3.编写存储过程 mysql与oracle分页关键字的区别? mysql分页关键字是limit 起始位置,差多少条记录 oracle分页关键字是rownum,不能用rownum>正整数,从一行记录开始查,该行的rownum=0 面试问题: 日期用什么类型存储? 1.long 数字占用空间小,可以比较大小,但是时间不直观需要转换 2.date(datatime,timestamp(默认当前时间)) 时间占用空间一般,可以比较大小,比较直观 3.varchar 字符串占用空间大,不可以比较大小(需要转换),直观