500 万并不是 MySQL 数据库的限制,过大会造成修改表结构,备份,恢复都会
有很大的问题
可以用历史数据归档(应用于日志数据),分库分表(应用于业务数据)等手
段来控制数据量大小
5、谨慎使用 MySQL 分区表
分区表在物理上表现为多个文件,在逻辑上表现为一个表 谨慎选择分区键,跨
分区查询效率可能更低 建议采用物理分表的方式管理大数据
6、尽量做到冷热数据分离,减小表的宽度
MySQL 限制每个表最多存储 4096 列,并且每一行数据的大小不能超过 65535
字节 减少磁盘 IO,保证热数据的内存缓存命中率(表越宽,把表装载进内存缓
冲池时所占用的内存也就越大,也会消耗更多的 IO) 更有效的利用缓存,避免
读入无用的冷数据 经常一起使用的列放到一个表中(避免更多的关联操作)
7、禁止在表中建立预留字段
预留字段的命名很难做到见名识义 预留字段无法确认存储的数据类型,所以无
法选择合适的类型 对预留字段类型的修改,会对表进行锁定
8、禁止在数据库中存储图片,文件等大的二进制数据
通常文件很大,会短时间内造成数据量快速增长,数据库进行数据库读取时,
通常会进行大量的随机 IO 操作,文件很大时,IO 操作很耗时 通常存储于文件
服务器,数据库只存储文件地址信息
9、禁止在线上做数据库压力测试
10、禁止从开发环境,测试环境直接连接生成环境数据库
三、数据库字段设计规范
1、优先选择符合存储需要的最小的数据类型
· 原因
评论0
最新资源