12 优化物理设计

12 优化物理设计

在逻辑设计向物理设计转化的过程中, 必须做出四个决定

1. 对于每个表, 不仅需要决定是否使用堆表, 聚簇, 索引组织表, 也需要决定是否对表进行分区

2. 需要考虑是否采用冗余的访问结构, 比如索引或物化视图

3. 需要决定如何实现数据约束

4. 必须决定如何将数据保存在数据块中, 包括字段的顺序, 何种数据类型, 每个数据块可以保存多少条记录

最佳字段顺序

将访问频繁的字段放在前面

image

存储在数据块中每一行记录的格式(H=行头, Ln=字段长度, Dn=字段数据), 数据库引擎不知道一条记录中每个字段的偏移量, 例如, 如果需要定位字段3, 必须从字段1开始, 根据字段1的长度定位字段2, 根据字段2的长度, 定位字段3, 依此类推.

例如: 我们有一个250列的表, 当我们执行 select count(column N) 时, count第一列, count第2列, count第250列, 查询所需要的响应时间为:

image

最优的数据类型

转载于:https://www.cnblogs.com/moveofgod/p/4252568.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/109572.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • vue双向绑定原理 面试_vue首屏加载优化

    vue双向绑定原理 面试_vue首屏加载优化vue.js采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调。数据的双向绑定,首先要对数据进行劫持监听,所以我们需要设置一个监听器Observer,用来监听所有属性。如果属性发上变化了,就需要告诉订阅者Watcher看是否需要更新。因为订阅者是有很多个,所以我…

    2022年10月17日
    4
  • Mybatisplus 相关操作之 IService BaseMapper ServiceImpl 简单应用

    本篇主要介绍mybatisplus的简单应用这里对mybatisplus中配置遇到的问题及extent、implement所导入的包也为大家方便引入依赖1引入相关依赖依赖只是参考,每人的仓库不同,代码块内容仅作参考<dependencies><dependency><groupId>org.springframework.boot</groupId><artifac

    2022年4月8日
    89
  • java视频上传与播放功能

    java视频上传与播放功能参考:https://wenku.baidu.com/view/63fb1da364ce0508763231126edb6f1aff0071c7.html此次上传播放功能采用eclipse+ssm+maven+spring2.5+tomcat8+jdk8这个功能是有一定缺陷的,CKplayer播放视频需要H264MP4格式的,所以需要格式转化,网盘上都有。需要源码的百度网盘地址:…

    2022年7月7日
    24
  • following的用法的解析_could not be registered

    following的用法的解析_could not be registered将Ubuntu的源修改为国内源:https://blog.csdn.net/zhuiqiuzhuoyue583/article/details/88777483将Ubuntu的源修改为国内源的之后,执行sudoapt-getupdate出现问题:GPGerror:Thefollowingsignaturescouldn’tbeverifiedbecause…

    2022年10月13日
    5
  • mysql sql常用语句大全「建议收藏」

    mysql sql常用语句大全「建议收藏」一、常用操作数据库的命令1.showdatabases;查看所有的数据库2.createdatabasetest;创建一个叫test的数据库3.dropdatabasetest;删除一个叫test的数据库4.usetest;选中库,在建表之前必须要选择数据库5.showtables;在选中的数据库之中查看所有的表6.createtable表名(字段1…

    2022年4月29日
    55
  • python输入两个集合取并集_python交集并集差集

    python输入两个集合取并集_python交集并集差集第一种方法:使用python基本数据结构set集合。优点:集合运算长度可以不一致,运算效率高缺点:两个进行运算的集合中不能够含有重复的元素,如果含有的话,转成set集合后,会自动去掉重复元素a=[1,2,3]b=[1,2,6,9,12]print(set(a)&set(b))#交集print(set(a)|set(b))#并集print(set(a)^set(b))#异或,就是两个集合去掉交集的那部分print(set(a)-set(b))#差集,就

    2022年10月6日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号