永发信息网

数据库垂直分表和水平分别到底什么意思

答案:2  悬赏:0  手机版
解决时间 2021-01-04 12:08
  • 提问者网友:聂風
  • 2021-01-04 00:56
数据库垂直分表和水平分别到底什么意思
最佳答案
  • 五星知识达人网友:duile
  • 2021-01-22 07:20
分库!举个例子 有10万员工信息,可以建10个表 每表存放1万员工。他们结构是一样的就表名差异,一表放的员工是工号1到9999的相近信息。
另一种就一个表但内部分区,数据放在不同的物理文件中。
全部回答
  • 1楼网友:动情书生
  • 2021-01-22 07:48
1.水平拆分: 是根据主要查询条件,水平分表。例如,用户关系表, 根据用户id: 用户id为 1, 2, 3, 4,5 的五个用户,采用取模的方式水平分表。将uid mod 3,取余数 这样,id为1,4的用户就在 t_user_1 的表里, id 为2,5 的用户在 t_user_2的表里,id为3的就在t_user_3的表里。这样,所有用户就平均水平分布在三个表里。 查询时,根据查询条件,动态算出,该用户信息存储在哪个表里 2.垂直拆分: 是根据数据量进行分表。例如,网购订单表: 数据量过大,可能单表几千万条数据。那么,垂直分表, 将id为1-1000000放在第一张表里。 将id 1000000-2000000的放在第二张表里。这样,就实现了垂直分表。 查询时,根据查询条件,动态算出,该订单信息存储在哪个表里 同样可以,水平分库, 垂直分库。 也可以两者相结合,形成数据库矩阵集群。 数据表的矩阵。 数据库范式: 目前关系数据库有六种范式:第一范式(1nf)、第二范式(2nf)、第三范式(3nf)、巴斯-科德范式(bcnf)、第四范式(4nf)和第五范式(5nf,又称完美范式)。 具体可查看:http://baike.baidu.com/link?url=jlyxe21nupgpzkprx5xf5szrkop23u9onxaazndtfbeam4ockxwgftcgc8qhcyle8osfratuvhpptcmwvswfg_ 为了维持范式,会降低数据库的查询性能,大量冗余信息等。在实际生产环境,很多情况下,不能去实现这种范式,所以要违反范式的定义,就是反范式数据库设计。 范式只是一个理想化状态,仅用于关系型数据库。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯