数据库优化系列(一)
1、字段
-
字符串字段长度都差不多的,可以预估长度的,用char
-
字符串长度差异大,用varchar,限制长度,不要浪费空间
-
整型根据大小,选择合适的类型
-
时间建议用timestamp
-
建议使用decimal,不建议使用float,如果是价格,可以考虑用int或bigint,如1元,存储的就是100
2、禁用UUID
String uuid = UUID.randomUUID().toString().replaceAll("-", "");
理由:uuid没有顺序,太长(存储量大),不可控,字符串存储,查询效率低
推荐方法:bigint或char存储,用snowflake算法生成,有顺序,固定长度。(缺点:强依赖机器时钟,如果机器上时钟回拨,会导致发号重复或者服务会处于不可用状态。)
redis生成id
mongdb生成id
3、索引:
数据量小不需要引入索引。
一个表的索引不宜多,建议最多五个。