31集训班-02

--数据库 字段 表 命名规范

使用小写字母或数字 下划线

禁止使用数字开头

不使用复数名词

禁止保留字

是否概念字段,必须使用is_xxx的方式

##数据类型##

小数应该选择decimal

货币bigint

单个字段长度相等使用char

varchar最长不超过5000

--建表必须三个字段

Id create_time update_time

单表行数超过500w或者大小超过2gb,才推荐分库分表

----索引

特性,持久性--存储空间大,有序性

分类

存储形式 1,聚簇索引 2,非聚簇索引

数据约束:1,主键索引,2唯一索引 3,非唯一索引

索引列的数量,1,单列索引,组合索引

innoDB可以创建的索引:主键索引,唯一索引,普通索引

不可以创建的索引,覆盖索引

索引的数据结构 btree

--索引规约

1,有唯一特性的字段必须创建成唯一索引

2,在varchar字段创建索引时必须指定索引长度(长度比较低时可以不用指定)

3,建组合索引的时候,区分度最高的在最左边

--索引注意

1,注意字段类型,防止字段不同造成隐式转换,导致索引失效

2,利用覆盖索引

3,利用有序性,使用order by的场景 使用索引

4,禁止模糊查询,模糊查询左有%时 索引失效

减少表之间的join (建议不超过3个)

SQL规约

1,使用count(*) 查询行数

2,count(distinct col)计算不重复的行数

3,使用 isnull 判断null 凡是null参与的计算都是null

4,当深翻页时,可以加上某个限定条件 优化SQL

ORM映射规约

1.不使用select *

2.pojo属性不能加 is 而数据库必须加

3.返回结果都要使用resultMap映射

4.不用${}

5.不用mybatis自带的queryList

6.不适用HashMap Hashtable

7.更新数据库时必须更新 update_time

8.不要写一个大而全的数据更新接口

数据库三范式

1.每列属性不可拆分

2.每列都与主键相关

3.每列都与主键直接相关而不是间接相关

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值