
COMMENT从句)SELECT, UPDATE, DELETE语句中的WHERE从句中的常出现的列ORDER BY, GROUP BY, DISTINCT中的字段primary key(id),index(id),unique index(id)这三个就重复建立id的索引了index(a,b,c),index(a,b),index(a)对于a来说就重复建立了。VARCHAR(N)的N代表是字符数,不是字节数,使用UTF-8存储汉字 VARCHAR(255)=765个字节TEXT、 BLOB数据类型ENUM数据类型ENUM值会导致表结构的修改ENUM的 ORDER BY需要额外操作,效率低NOT NULLNULL列需要额外空间,占用更多空间TIMESTAMP或 DATETIME类型存储时间。不要用字符串存储日期类型(无法利用内置日期函数而且占用更多空间)DECIMAL类型BIGINT更大的整数数据a LIKE'%123%'LEFT JOIN 或 NOT EXISTS 来优 NOT IN操作(可能导致索引失效)SELECT*,需要用 SELECT<字段列表>查询*返回不需要的字段INSERT INTO t VALUES('a','b','c')应该带上 INSERT INTO t(c1,c2,c3)VALUES('a','b','c')JOIN操作JOIN关联太多的表JOIN一个表会多占用一部分内存(joinbuffersize)IN代替 ORIN的值不超过500个IN的操作可以有效的利用索引ORDER BY rand()进行随机排序WHERE从句中队列进行函数转换和计算UNION ALL而不是 UNIONUNION会把所有数据放到临时表中后再进行去重操作UNION ALL则不会做去重操作