SQL数据库收缩的工作原理是啥
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL数据库收缩的工作原理是啥相关的知识,希望对你有一定的参考价值。
请教各位数据库高手:
1.关于SQl Server 2000数据库名/所有任务/收缩数据库中的“收缩后文件中的最大可用空间”的百分比有什么意义?将页移至文件起始位置又是什么?
2.将数据库名/属性/选项/故障还原中的“模型”变为“简单”有什么作用?他们的操作对数据库有何影响?
3.将数据库日志增长的百分比缩小了,会对数据库日志的记录产生什么影响,是否记录写的不全呢?
空白空间:删除表时,数据库的空间不会自动缩小,随着建的表越来越多,删除操
作越来越多时候,数据文件就会越来越多。
日志:是记录你历史操作的,没用的都可以清除。 参考技术A “模型”变为“简单”对数据库使用没有影响,但是日志记录少了。日志文件的大小下降了。
“收缩后文件中的最大可用空间”保留多少空余空间不收缩。
页移至文件起始位置、收缩文件-文件-压缩页,更好的收缩文件,需要很长的时间。如果你用普通搜索之后,文件还是很大,而且有较多的空余空间收缩不了,就可以用这个选项。本回答被提问者采纳
SQL初学者问题:从主表中填充一些子表的原理是啥?
【中文标题】SQL初学者问题:从主表中填充一些子表的原理是啥?【英文标题】:SQL beginner question : what is the principle to fill some sub-table from a main table?SQL初学者问题:从主表中填充一些子表的原理是什么? 【发布时间】:2021-06-25 13:12:12 【问题描述】:我是数据库知识的初学者。 我开始在 Dallas db2 lite 主机上使用 cloud db2 lite 服务。 我已经将主表从 .csv 文件加载到我的 db2 lite 实例中。 该主表由数据(几乎 40 列和 40000 行)填充、填充。 从这个主表中,我想填写 3 个空的子表,我已经在其中定义了字段(比如说,列,类型,...)。 在我看来,我认为可以将子表“连接”到主表,以填充子表。 但是,我不明白这是否可能,或者怎么可能。
我试过INSERT "INTO ... SELECT ... FROM ... GROUP BY ... ORDER BY"
SQL 命令类型。
这种类型的 SQL 命令填充子表。但按照我的做法,它只将数据从主表复制到子表。它不会将子表链接到已经填充的主表。
我感觉我还没有理解将数据从大型主表“泵”到子表中的原理,或者用来自主表的数据填充子表,将子表连接到主表。
有这样的原则吗?
【问题讨论】:
您能否解释一下“将子表链接到已经填充的主表”下的意思 在我初学者心目中的意思是:主表已满。子表为空。目标是填充子表,将它们不断地链接到主表。执行 INSERT INTO SELECT FROM GROUP BY 不会建立链接。 【参考方案1】:如果您想将子表“链接”到主表,那么您可能根本不需要表。你想要一个视图:
create view subtable as
select . . .
from . . .;
您可以像查询任何其他表一样查询视图。但是SQL引擎每次都运行定义代码,所以数据始终是最新的。
【讨论】:
好的。我明白。而且,如果我想获取子表并从主表中填充它们,并保持它们与主表的链接?这是符合sql和数据库实践的原则吗? @anch 。 . .你有两个选择。更简单的是物化视图,它很像视图,只是数据实际上存储在数据库中,并且数据库保持最新(可能按计划)。二是使用触发器来保持两个表之间的一致性。 好的,明白了。对于关系子表,SQL 是否允许对视图和“之间”视图进行查询?原理是一样的吗? @anch 。 . .对于SELECT
查询,视图的使用与表一样。以上是关于SQL数据库收缩的工作原理是啥的主要内容,如果未能解决你的问题,请参考以下文章