美文网首页面试
数据库军规

数据库军规

作者: 小张同学_loveZY | 来源:发表于2018-08-25 22:10 被阅读0次

数据库军规:

核心军规

  1. 不在数据库做运算:CPU计算务必移至业务层;
  2. 控制单表数据量:含int型不超过1000w,含char则不超过500w;合理分表;限制单库表数量在300以内;
  3. 控制列数量:字段数控制在20以内;
  4. 平衡范式与冗余:为提高效率牺牲范式设计,冗余数据;
  5. 拒绝3B:拒绝大sql,大事务,大批量;

注:数据库三范式:

第一范式: 确保每列保持原子性

第二范式: 确保表中的每列都和主键相关

第三范式: 确保每列都和主键列直接相关,而不是间接相关

常用的方式:在一个数据库中设置主表,通过外键关联设置关联表,从而避免表过大。且每一个关联表尽量满足范式。

字段类军规

尽量使用足够描述的数据类型。

1. 用好数值类型:一些分类可以直接用数值型表示,在数据层加映射关系。

- tinyint(1Byte)
- smallint(2Byte)
- mediumint(3Byte)
- int(4Byte)
- bigint(8Byte)

2. 避免使用NULL字段

理由:
  • NULL字段很难查询优化
  • NULL字段的索引需要额外空间
  • NULL字段的复合索引无效

可以用0表示默认的null值。示例:

bad case:
name char(32) default null
age int not null

good case:
age int not null default 0

3. 可转化为数字的字符尽量转,如IP。

4. 不在数据库里存图片

存图片的URL,并另起一个图片仓库。

5. 少用text/blob

varchar的性能会比text高很多

索引类军规

索引可以改善查询、减慢更新

但是索引一定不是越多越好(能不加就不加,要加的一定得加)

重复的记录条数过多不适合建索引,例如“性别”

SQL类军规

  1. 一条sql只能在一个cpu运算

  2. 大语句拆小语句,减少锁时间

    注:一条大sql可以堵死整个库

  3. 简单的事务

    事务时间尽可能短

  4. 不用select * (but 经常被违反)

  5. OR改写为IN()(相同字段判断)或者UNION(不同字段判断)

or的效率是n级别

in的效率是log(n)级别

in的个数建议控制在200以内

select id from t where phone=’159′ or phone=’136′;
改写成:
select id from t where phone in (’159′, ’136′);

    
select id from t where phone = ’159′ or name = ‘john’;
改写成:
select id from t where phone=’159′
union
select id from t where name=’jonh’

相关文章

  • mysql基本规范

    引用自:58数据库军规 军规适用场景:并发量大、数据量大的互联网业务 军规:介绍内容 解读:讲解原因,解读比军规更...

  • 数据库军规

    数据库军规: 核心军规 不在数据库做运算:CPU计算务必移至业务层; 控制单表数据量:含int型不超过1000w,...

  • MySQL开发军规

    MySQL开发军规 MySQL数据库开发的三十六条军规_石展 核心 不在数据库做运算 单表数据量:一年内单表纯IN...

  • SQL技巧(转写下来自己慢慢看)

    58到家数据库30条军规解读(转写下来慢慢看)

  • 互联网Mysql数据库应用潜规则

    互联网Mysql数据库应用潜规则 军规适用场景:并发量大、数据量大的互联网业务 军规:介绍内容 解读:讲解原因,解...

  • 再议数据库军规

    转自:http://chuansong.me/n/1578640146007 上一篇《58到家数据库30条军规解读...

  • 军规

    军规1:挺胸直腰,坐如钟,行如风,不抠鼻子。 军规2:每天至少阅读一小时。 军规3:每天至少学半小时英语。 军规4...

  • mysql设计总结

    军规适用场景:并发量大、数据量大的互联网业务 军规:介绍内容 解读:讲解原因,解读比军规更重要 一、基础规范 (1...

  • 互联网Mysql数据库应用潜规则

    军规适用场景:并发量大、数据量大的互联网业务 军规:介绍内容 解读:讲解原因,解读比军规更重要 一、基础规范 (1...

  • 58到家数据库30条军规解读

    军规适用场景:并发量大、数据量大的互联网业务 军规:介绍内容 解读:讲解原因,解读比军规更重要 一、基础规范 (1...

网友评论

    本文标题:数据库军规

    本文链接:https://www.haomeiwen.com/subject/zclqiftx.html