广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 软件教程 > Java技术 > 正文

佛山JAVA培训:MySQL数据库开发核心原则

作者:admin01发布时间:2021-07-10分类:Java技术浏览:812


导读:MySQL是一个开源的关系数据库管理系统(RDBMS)。 MySQL作为系统开发中最常用的数据库之一,以其速度、可靠性和适应性受到开发者的青睐。但是,为了避免我们...

MySQL 是一个开源的关系数据库管理系统 (RDBMS)。  MySQL作为系统开发中最常用的数据库之一,以其速度、可靠性和适应性受到开发者的青睐。 但是,为了避免我们在开发MySQL数据库时犯的致命错误,我们需要遵守MySQL数据库开发的核心原则。 下面列出的 MySQL 数据库开发的 5 个核心原则是所有 MySQL 数据库开发都应该遵守的。 希望能引起关注。


  1.尽量避免在数据库中进行计算


  “晚上做鸡,让浣熊抱老鼠,都用自己的本事,无事可做。” 古人很早就明白履行职责、履行职责的重要性。 作为现代数据库开发人员,我们应该让他们的数据库发挥作用,而不是“物尽其用”。 因此,我们应该尽量避免在数据库中做一些计算。 复杂的计算被转移到终端CPU,那里是战场。 我们应该避免在数据库中使用复杂的算术函数。 毕竟,技术行业有专业化。 这不是数据库的强项。 处理复杂计算的任务留给 CPU。


  2.尽量控制表格字段的数量


  单个表的字段数不能太多,否则会影响数据库的优化。 根据业务场景进行优化调整,尽量把表字段的数量调整得尽量小而精,这样可以让IO高效,可以快速遍历整个表,第二区也可以提高数据库的并发性。


  使用特定标准控制字段数,根据单表1G量和500W行数据量评估:顺序读取1G文件需要N秒,单行不超过200Byte,单表不超过50纯 INT 字段,单表不超过 20 对于 CHAR(10) 字段,建议单表的字段数上限为 20-50。


  3. 平衡范式和冗余


  数据库表结构的设计也讲究平衡。 过去,我们常说要严格遵守三个范式,所以我们先说范式。 第一范式:单个字段不可分割。 独特性。 第二种范式:不存在仅依赖于部分主键的非主属性。 消除不完全依赖。 第三范式:消除传递依赖。 用一句话概括范式和冗余:冗余是性能的存储,范式是存储的性能。 因此,冗余在实际工作中普遍比较流行。 在设计模型时,这两个方面的具体取舍首先要基于企业提供的计算能力和存储资源。 其次,在一般的互联网行业,数据仓库都是按照Kimball模型来实现的,建模也是任务驱动的,所以冗余和范式的权衡满足了任务的需要。 例如,一条指标数据必须在早上8点之前处理,但计算时间窗口很小。 需要尽可能减少指标计算的时间消耗。 这时候就需要在计算过程中减少多表关联。 设计时需要做更多的冗余。


  4.拒绝三个B


  由于数据库的并发性就像城市交通一样,是非线性增长的,这就需要我们在做数据库开发的时候注意高并发下的瓶颈,防止数据库因为高并发而瘫痪。


  这里的3B是指:


  Big SQL (BIG SQL):减少


  大交易(BIG Transaction)


  大批量


  5.尽量控制单表数据量


  大家都知道单表数据过多会影响数据查询的效率,严重的会导致整个库卡死。 一般情况下,单表一年内数据量估算:纯INT不超过1000W,CHAR不超过500W。 同时要做好合理的分表,使单表数据量不至于过载。 常见的分表策略有: 按USERID分表(按ID间隔分表):金融行业应用较多,用户量大,用户特征明显。 按DATE分表(按天、周、月分表):电信行业有很多应用,如用户上网记录表、用户短信表、话费表等。按AREA分表 表(省、市、区表)。




  免责声明:本文文字及图片均由编者自网络转载。 版权属于原作者。 如有侵权,请及时联系我们删除。

  以上是小编带来的最新资讯。 喜欢的朋友可以继续关注本站最新动态,或者咨询在线客服。


Java技术排行
标签列表
网站分类
文章归档
最近发表