建表需要注意的:能用int的不要用varchar,如果非负的话用UNSIGNED int,Ip地址用int存(使用inet_aton函数转换
索引用没用,用的哪个索引,forece index 指定索引
in 和exist:in需要对子表全表扫描,exist是把外面数据一条条带进来,子表数据量大时往往exist快
子查询和join,子查询就是where条件里某个字段in(select xxx)
多字段用like模糊查询时用union组合每个查询条件,而不是用or连接多个like模糊查询
建索引要考虑的:多表查询优先考虑建在on连接条件上(注意on的两边字段类型是否一样,编码格式是否一样),单表查询建在where条件,
建复合索引还是单列索引,复合索引虽然效率高但是如果查询条件不满足左前缀原则会不生效
多表关联可以拉宽表但是实时性不高,total慢可以换myisam引擎或者跑常量表。