标签 mysql 下的文章

  1. 数据库需要操作时间的字段尽量用int(11),方便不同其他种类的数据库数据同步,也避免像datetime存储时时区不同造成的麻烦
  2. 数据库表默认要有sys_createtime,sys_updatetime,sys_ip,sys_status(用于区分数据的新旧,方便数据量大的时候把没用的旧数据搬到其他表格存着)
  3. 如果数据库表的内容很多,为了提高查询效率,可以水平分表,按照表数量取模(如5表,table_0,table_1,table_2,table_3,table_4,按取模结果进行查询或存储)
  4. 数据库表的垂直分表
    解决问题:表的记录并不多,但是字段却很长,表占用空间很大,检索表的时候需要执行大量的IO,严重降低了性能。例如:

学生答题表tt:有如下字段:
Id name 分数 题目 回答
其中题目和回答是内容比较大的字段,id name 分数比较小。
为了查询快速,就会把id name 分数合成一章表

  1. 为了满足高并发,尽量不使用外键,只在代码中做好判断
  2. 字段设置一般都设置not null,有默认值,避免新建或更新数据时的开销还有索引优化
  3. 数据库操作不允许有delete,越是大型系统越要用数据迁移代替delete