`

大量数据的设计小技巧

阅读更多
     1:建立分区
 随着表的增大,对它的维护也更加困难。在非常大的数据库中,可以通过把一个大表的数
据分成多个小表来大大简化数据库的管理活动。例如,可以根据表中的部门或产品值把一个表
分成独立的小表。
注意分分区只对拥有并安装了分区选项的企业是可用的。
当把一个大表分成若干小表时,可以规定一些范围值供数据库使用,这些称作分区
( p a r t i t i o n )的小表比大表的管理更加简单。例如,可以完全删除( t r u n c a t e )一个分区的数据而不会
删除其他分区中的数据。O r a c l e将把分区表看作一个大表,但可以把这些分区作为一些独立的对
象来管理。
分区还可以改善应用性能。由于优化器将知道作为分区基础使用的范围值,所以它在访问
表时就可以只使用特定的分区直接查询。因为在查询过程中只浏览少量数据,自然就改善了查
询性能。
除了表外,也可以对索引进行分区,一个分区索引的分区中的范围值可以与索引表使用的
范围相匹配,这种情况的索引叫作局部索引(local index)。如果索引分区不能与表分区的值范围
相匹配,则该索引就叫作全局索引(global index)。
在O r a c l e 8 i中,能够细分分区,创建子分区。例如,可以先根据一组值分割一个表,然后再
根据另一种分割方法分割分区。在O r a c l e 9 i中,除了范围分区与哈希分区之外,还可以创建目录
分区(list partitions)。有关分区、子分区、局部索引和全局索引的管理问题。
 
2: 主要为了防止遍历表查询。

比如 LEFT JOIN, RIGHT JOIN 。这些查询如果能用冗余避免则应尽力避免。

INNER JOIN 则不用担心了。

而且表设计的时候应当尽量避免出现 LEFT JOIN 。
3:减少表关联
假如一个论坛库中有用户信息表tbUsers有下列字段
user_id(用户信息编号),user_name(用户名),user_nick(用户昵称)

贴子表tbTopics
tpic_id(贴子信息编号),tpic_title(贴子主题),tpic_content(贴子内容),user_id(用户编号)

在实际的贴子显示过程中,我们要在贴子中显示用户昵称时,都是通过tbTopics表中的user_id和tbUsers表进行关联来获取user_nick信息。

上面的两个表的表结构设计根据设计范式不存在问题,但是如果这个论坛的访问量大的话,表的关联的代价就出来了,因为两表关联比访问一个表的代价要大。

因此,我们可以采取在tbTopics表中增加一个冗余字段user_nick,这样显示贴子时不再需要和表tbUsers进行关联了即SELECT * FROM [tbTpocs]即可,不需要SELECT t.*,u.user_nick FROM tbTpoics t LEFT JOIN tbUsers u ON t.user_id=u.user_id来显示获取贴子数据进行显示.

当然这个例子举得不是很恰当,反正就是这么个减少关联表的意思。这样就通过空间来换时间了。
分享到:
评论

相关推荐

    数据仓库设计说明书

    3.13 管理大量数据 74 3.14 创建多个简要记录 75 3.15 从数据仓库环境到操作型环境 75 3.16 正常处理 75 3.17 数据仓库数据的直接访问 76 3.18 数据仓库数据的间接访问 76 3.18.1 航空公司的佣金计算系统 76 3.18.2 ...

    本书论述在设计和建造数据仓库中涉及的所有主要问题,论述分析型环境(决策支持系统环境)以及在这种环境中的数据构造。主要内容包括数据仓库的设计与建造步骤,传统系统到数据仓库的迁移,数据仓库的数据粒度、数据分割、元数据管理、外部数据与非结构化数据,分布式数据仓库、高级管理人员信息系统和数据仓库的设计评审等。

    3.13 管理大量数据 74 3.14 创建多个简要记录 75 3.15 从数据仓库环境到操作型环境 75 3.16 正常处理 75 3.17 数据仓库数据的直接访问 76 3.18 数据仓库数据的间接访问 76 3.18.1 航空公司的佣金计算系统 76 3.18.2 ...

    数据维护功能设计荟萃.pdf

    - **列表**:直观展示数据项,适合大量数据的浏览。 - **排队**:按时间顺序或优先级排列,适用于任务管理场景。 数据集处理功能则需考虑: - **多条数据集中处理**:如删除、排序、导出、收藏等,提高数据管理...

    数据绑定的几个页及小技巧.rar

    6. **列表绑定**:在显示大量数据时,列表绑定非常有用。它可以将数组中的每个元素映射到UI中的一个元素,例如在表格中显示数据。常见的有Angular的`*ngFor`,Vue的`v-for`。 7. **条件绑定**:根据数据模型的状态...

    PowerBuilder数据窗口编程技巧

    对于大量数据,数据窗口的分页功能至关重要。通过设置页大小和页导航控件,可以实现数据的分页浏览,避免一次性加载过多数据导致性能问题。 10. 数据窗口的导出和打印 数据窗口可以直接导出为PDF、Excel、CSV等多种...

    FPGA 设计的四种常用思想与技巧

    - **节省资源**:相比传统的单缓冲区设计,乒乓操作可以显著减少所需的缓冲区大小,特别是在需要对大量数据进行延迟处理的情况下。 #### 三、串并转换 **定义与原理** 串并转换是指在FPGA设计中将串行数据流转换为...

    数据结构课程设计-大奖赛评分系统设计.7z

    数据结构课程设计是计算机科学中的一个关键组成部分,它涉及到如何高效地存储和处理大量数据。在这个项目中,大奖赛评分系统的设计是通过使用C语言实现的,这涉及到数据结构的深度应用,特别是链表和数组的使用。让...

    数据结构课程设计病人看病系统

    数据结构课程设计是计算机科学与技术专业的重要实践环节,它主要教授如何有效地组织、管理和处理大量数据。在这个特定的课程设计中,我们关注的是一个"病人看病系统",这是一个模拟现实生活中医院就诊流程的软件应用...

    20套-2022-精选数据大屏可视化设计PSD源文件 h.zip

    通过学习和实践这些源文件,设计师可以迅速掌握数据大屏设计的技巧,理解如何将复杂的数据转化为易于理解的视觉表现。此外,熟悉PSD文件的结构和编辑方法,也有助于提升设计师在团队协作中的专业素养。 此外,文件...

    《数据之美:一本书学会可视化设计》PDF英文版本下载.txt

    综上所述,《数据之美:一本书学会可视化设计》这本书不仅涵盖了数据可视化的基础知识和技术要点,还提供了大量的实践案例和技巧指南。对于希望深入了解并掌握数据可视化技能的人来说,这本书将是极佳的选择。通过...

    c++数据结构与程序设计方法

    1. **C++基础**:C++是一种静态类型的、编译式的、通用的、大小写敏感的、不仅支持过程化编程,也支持面向对象编程的程序设计语言。它的语法基础源自C语言,同时引入了类、模板、命名空间等高级特性,使得代码更加...

    FPGA设计高级技巧Xilinx篇

    - 对于需要高速缓存或存储大量数据的应用,合理规划BSRAM的容量和访问模式,可以有效提升系统的整体性能。 #### 二、Distributed RAM的使用 Distributed RAM(DRAM)是另一种重要的内存资源,通常分布在整个FPGA...

    数据结构课程设计

    9. **文件结构**:在实际应用中,数据通常存储在磁盘上,因此理解文件结构(如顺序文件、索引文件、直接文件等)对于处理大量数据至关重要。 10. **数据结构的选择与优化**:根据问题需求选择合适的数据结构是解决...

    通讯录的数据结构课程设计

    通过以上知识点的学习和实践,你将掌握C#编程、数据结构应用以及软件设计的基本技巧,为今后的项目开发打下坚实的基础。在这个过程中,你不仅可以提高编程技能,还能理解如何将理论知识应用于实际问题中。

    acm相关算法设计及技巧

    在ACM(国际大学生程序设计竞赛)中,算法设计与技巧是至关重要的,尤其是在面对复杂的编程挑战时。本文将深入探讨ACM相关算法设计及STL(标准模板库)的实现,同时分享一些巧妙的解题思路。 首先,ACM算法设计主要...

    数据结构程序设计题典

    《数据结构程序设计题典》的PDF文件很可能包含了大量编程题目和解决方案,涵盖了上述知识点。通过解决这些题目,读者可以深入理解各种数据结构的内部工作原理,提高编程能力,并为面试和实际项目开发做好准备。书中...

    s数据仓库资料数据仓库资料

    3.13 管理大量数据 74 3.14 创建多个简要记录 75 3.15 从数据仓库环境到操作型环境 75 3.16 正常处理 75 3.17 数据仓库数据的直接访问 76 3.18 数据仓库数据的间接访问 76 3.18.1 航空公司的佣金计算系统 76 3.18.2 ...

    数据仓库,数据仓库入门

    3.13 管理大量数据 74 3.14 创建多个简要记录 75 3.15 从数据仓库环境到操作型环境 75 3.16 正常处理 75 3.17 数据仓库数据的直接访问 76 3.18 数据仓库数据的间接访问 76 3.18.1 航空公司的佣金计算系统 76 3.18.2 ...

    简单数据结构课程设计

    在IT领域,数据结构是计算机科学中的核心概念之一,它涉及到如何有效地组织和管理大量数据。本项目名为“简单数据结构课程设计”,主要是基于C++编程语言实现的,且无图形用户界面,专注于两种基本排序算法:冒泡...

    浅谈数据库设计技巧[pdf]

    面向对象的程序开发过程中,首先需要分析程序中涉及的数据,然后基于这些数据设计类,并在类中添加处理数据的方法(即算法)。最后,通过设置不同的访问级别实现封装。 #### 三、数据库的发展历程 数据库的起源...

Global site tag (gtag.js) - Google Analytics