mysql优化总结

a. 避免 SELECT * ;
在使用Left (right) join的时候,一定要在先给出尽可能多的匹配满足条件,减少Where的执行;
尽量避免子查询,而用join;

b.永远为每张表设置一个ID
c.(短字节数据)使用 ENUM 而不是 VARCHAR
d.为搜索字段建索引
e.尽可能的使用 NOT NULL
f. 垂直分割
g.拆分大的 DELETE 或 INSERT 语句
while (1) {
//每次只做1000条
mysql_query("DELETE FROM logs WHERE log_date <= '2009-11-01' LIMIT 1000");
if (mysql_affected_rows() == 0) {
// 没得可删了,退出!
break;
}
// 每次都要休息一会儿
usleep(50000);
}
h.越小的列会越快
如果一个表只会有几列罢了(比如说字典表,配置表),那么,我们就没有理由使用 INT 来做主键,使用 MEDIUMINT, SMALLINT 或是更小的 TINYINT 会更经济一些。如果你不需要记录时间,使用 DATE 要比 DATETIME 好得多。
i.选择正确的存储引擎

posted @ 2019-03-24 21:56  桃不二  阅读(103)  评论(0编辑  收藏  举报