数据类型
尽量不要使用unsigned用bigint
注意一旦设置zerofill属性,数据库为列自动添加unsigned属性。
设置严格的SQL_MODE进行约束校验
分全局设置和当前会话设置
建议将数据库的默认字符集设置为utf8
查询处理
一共11个步骤,最先执行的是FROM子句,最后执行的是LIMIT,每个步骤都会产生一张虚拟表。
FROM产生笛卡尔机产生虚拟表VT1
ON对虚拟表筛选产生虚拟表VT2
JOIN如过指定类型则产生VT3
WHERE产生VT4
GROUPBY 产生VT5
WITH产生VT6
HAVING产生VT7
SELECT产生VT8
DISTINCT产生VT9
ORDER BY产生VT10
LIMIT 产生VT11