从性能角度进行模型优化

教程发布:风哥 教程分类:ITPUX技术网 更新日期:2022-02-12 浏览学习:41

从性能角度进行模型优化

横向分解:(1)一个有很多列的表,依据列的访问频度(2-8定则),分解成几个表,他们之间采用相同的主键,而且是1:1的关系
(2)将大对象列单独存储在一张表中 从性能角度进行模型优化—多列表实例分析

问:某表有200个字段,数据量有1亿,请设计优化该表?
解:1)依据2:8定则,对该表的访问中,很可能80%的情况只涉及20%的40个字段,而20%的情况涉及占80%的160个字段。
为了提高80% 的访问效率,减少I/O和内存开销,可以将该表拆分成两个表:
A(含有最常被访问的40个字段),
B(含有不常被访问160个字段),两表使用相同的主键一一对应。这样可以减少读取数据的I/O开销和内存开销;

2)数据量有1亿,可以根据大多数访问的依据(where部分),将表实现成分区表,这样大大提高表的访问速度。
从性能角度进行模型优化—大对象列实例

问:某网站的新闻表(ID,标题,正文),请优化设计该表?
解:以浏览新浪新闻为例,用户进入新闻频道,首先浏览新闻标题,对感兴趣的标题再进行点击浏览详细的新闻正文。该使用过程说明:
(1)字段访问频度不同:每条新闻记录的(ID,标题)两个字段都会被显示在页面上,而新闻的(正文)字段只会被有选择的读取;
(2)字段占用空间相差太大:新闻(正文)字段内容很长,占用很大空间,对该字段的访问需要很多的I/O开销和内存资源。因此,应该将新闻表拆分成 新闻标题表(ID,标题)和新闻正文表(ID,正文)两张表,他们使用相同的ID做1:1的关联。

本文标签:
网站声明:本文由风哥整理发布,转载请保留此段声明,本站所有内容将不对其使用后果做任何承诺,请读者谨慎使用!
【上一篇】
【下一篇】