mysql 细节
2018-05-12 本文已影响0人
辰晞
主要是面试经验总结和一些反思。
http://www.dongchangbin.net.cn/?p=643
delete等的区别
1:in和exist的终结,结论是,子查询表小用in,子查询表达用exist。这个问题真正说清楚的,在这里。
2:where和having有什么区别?这不是扯淡吗?group 和having就行了,别的都用where?where里面不能有别名,having可以有,select user_name,sub(数学成绩-语文成绩) as dif from score having dif>20,这里只能用having。
1:基本的表设计都是3F,然后就是考虑适当冗余。
2:查询上面,就看有没有慢查询。自己也没有修改过默认的配置,直接优化。京东问的,如何快速删除千万的日志信息,先把索引去掉,再删除。还有,那个索引高效,把选择性强的放前面高效。美团的,什么时候使用索引,什么时候不使用了。就这几个基本原则。
3:存储引擎。如果表对事务要求不高,同时是以查询和添加为主的,我们考虑使用myisam存储引擎. ,比如bbs中的 发帖表,回复表。对事务要求高,保存的数据都是重要数据,我们建议使用INNODB,比如订单表,账号表。