MySQL(22)表结构的优化
-
表的字段,尽量使用固定长度。
-
列的先后顺序,固定长度的字段在前面。
create table big( id int not null auto_increment primary key, age int, name varchar(32) ) -
能在内存中存储的,尽量不要放在数据库中表关联。
角色表: id title 1 管理员 2 超级管理员 3 普通用户 用户表: id name role_id 1 alex 1 2 eirc 1 3 tony 2 4 kelly 3 这样设计,以后再查询用户信息时,如果想要看角色中文信息实,需要使用连表查询(效率低)。数据库中的用户表: id name role_id 1 alex 1 2 eirc 1 3 tony 2 4 kelly 3 Python代码中维护: ROLE_TYPE = ( (1,"管理员"), (2,"超级管理员"), (3,"普通用户"), ) 适用于有限的数据。 -
其实也可以允许存在一定的数据冗余
- 用户表 & 部门 部门表: id title 1 开发 2 销售 3 运维 用户表: id name depart_id 1 alex 1 2 eirc 1 3 tony 2 4 kelly 3用户表: id name depart_id 1 alex 开发 2 eirc 销售 3 tony 销售 4 kelly 运维 # 浪费了一些硬盘存储,换来的查询速度快。
浙公网安备 33010602011771号