@lzb1096101803
2016-03-19T15:01:57.000000Z
字数 639
阅读 545
电话面试
范式:https://www.zybuluo.com/lzb1096101803/note/317242
连接:https://www.zybuluo.com/lzb1096101803/note/317275
不用外键:如果用外键的话每次插入都要校验
根据功能接口设置表
字段保持与自己编写接口文档和model层的代码相同,大写的变成下划线
设计时根据功能接口,与另一个人商量设计是否合理
设计完成后,再根据功能接口决定哪些需要加索引,如orderby ,where的,
或者添加组合索引
每个表都添加更新时间和插入时间记录,像日志一样登记
适当添加冗余,减少表的关联
把比较复杂的计算放到程序中,而不是调用数据库的函数
开发过程中进行sql语句的优化
(1) 查看执行计划
(2) 根据需要进行索引的添加
(3) 根据需要修改 sql,使得尽可能使用索引
数据不要物理删除,应该加一个标志位,以防用户后悔时,能够恢复
做好权限控制
索引优化
最左前缀原理
如果查询条件中含有函数或表达式, 则MySQL不会为这列使用索引
SELECT count(DISTINCT(concat(first_name, left(last_name, 4))))/count(*) AS Selectivity FR
OM employees.employees;
ALTER TABLE employees.employees
ADD INDEX first_name_last_name4
(first_name, last_name(4));