Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >指数重建原木生长

指数重建原木生长
EN

Database Administration用户
提问于 2014-12-29 20:30:27
回答 1查看 2.5K关注 0票数 2

我记得读取重建索引应该与表size.But生成相同数量的日志文件,我的测试显示otherwise.We需要这个估计,因为我们正在尝试构建蔚蓝数据库索引,并且它有最大2GB的限制。

我的数据库处于完全恢复模式。

表大小:

日志大小:

从图片中可以看到,用联机索引重建operation.Can生成日志的次数要少得多,如果我遗漏了什么,一定要纠正我。

EN

回答 1

Database Administration用户

回答已采纳

发布于 2014-12-30 06:48:32

如果要重建聚集索引,则实质上是重新构建表,但非聚集索引只是表的子集(通常)。如果您使用SORT_IN_TEMPDB选项,您将将一些日志记录卸载到tempdb事务日志。版本也很重要,在2005年的联机重建是最少记录的。,但已更改为充分记录在2008年。您可能还想看看这篇文章,它可能有助于决定是重建还是重组,同时考虑日志大小。

-最新消息

使用Shanky的测试设置,我执行了相同的步骤,但我增加了一些额外的大小检查。在重建之前,我执行日志备份,并检查日志空间和利用率以及事务日志中的记录是否为我的索引。然后进行重新构建测试,并重新检查日志大小和日志记录数:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
backup log IndexLogging to disk = 'NUL'
--check log space/usage
dbcc sqlperf (logspace)
--check log records for the index, exclude the where for the total number of logs generated
SELECT LogRecordsGenerated = COUNT(*) 
FROM sys.fn_dblog(NULL, NULL) 
WHERE AllocUnitName = 'dbo.Logging.IX_LOGGING' 
--Perform your rebuild operation and then recheck the same parameters

我尝试了大约十几次,每次得到相同的结果,DMV只告诉您事务的情况,但是有几个嵌套的事务是由于log_test事务而产生的,这些事务没有显示,包括区段和页面的分配以及数据的插入。如果您查看日志文件的实际内容,您可以看到脱机重建是如何非常有效的。它只分配页面/区段,格式化它们并设置它们,然后释放旧的页面/区段。在线重建正在做更多的工作,因为它必须在重新构建时保持索引可用。这一点在锁定中可能更明显:离线锁定整个对象,但联机时必须逐页逐页按键执行。你可以看看你自己比较一下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT
OPERATION,
Context,
[Transaction Name],
[AllocUnitName],
[AllocUnitId],
[Page ID],
Description,
[Lock Information], [Transaction ID]
FROM FN_DBLOG(NULL,NULL)

在索引维护运行期间,可以通过临时切换到BULK_LOGGED来减少日志的生成,但是在这段时间内,您将失去时间点恢复的能力。显然它也是不会减少日志备份。

-关于DBCC (日志空间)中日志使用情况的更多信息,并选择LogRecordsGenerated =sys.fn_dblog(*) from sys.fn_dblog(NULL,NULL),其中AllocUnitName = 'dbo.Logging.IX_LOGGING‘以显示实际日志大小,注意索引只有648 is

这是在用数据填充日志之后的日志:

数据库名称日志大小(MB)使用的日志空间(%)状态

IndexLogging 14.99219 70.89956 0

LogRecordsGenerated

10903

下面是日志备份后的日志:

数据库名称日志大小(MB)使用的日志空间(%)状态

IndexLogging 14.99219 5.100313 0

LogRecordsGenerated

0

记录一个又一个日志备份,然后联机重新生成:

数据库名称日志大小(MB)使用的日志空间(%)状态

IndexLogging 14.99219 22.642 0

LogRecordsGenerated

11160

记录一个又一个日志备份,然后脱机重新生成:

数据库名称日志大小(MB)使用的日志空间(%)状态

IndexLogging 14.99219 10.79338 0

LogRecordsGenerated

140

票数 5
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/87221

复制
相关文章
Android入门教程 | EditText 用户输入
使用EditText时,有时候我们会需要监听输入的回车,以做出一些操作。 或者需要把回车变成“搜索”,“发送”或“完成”等等。
Android_anzi
2021/11/05
8390
Android 实现EditText输入金额
Android中EditText是一个InputType类型有很多的控件,可以来达到不同的软键盘效果。如下图:
网罗开发
2021/01/29
3.1K0
Android 实现EditText输入金额
Android edittext InputFilter 输入控制
InputFilter 可能需要对用户的输入进行一些限制,可以为EditText Widget设置一个InputFilter以实现这一功能
程思扬
2022/01/10
7350
EditText输入密码的显示和隐藏
密码的显示和隐藏是一个很常见的小知识点,主要包括2个部分:小图标的变化和EditText输入密码的显示和隐藏
AntDream
2019/07/15
2.5K0
jQuery实现用户输入自动完成功能
利用jQuery UI中Auto-complete插件实现输入自动完成功能,大家在使用诸如淘宝、京东等电商平台搜索商品时,往往只要输入商品的一些特殊字符,就可以显示出和该字符相近的列表菜单,用户使用鼠标或者键盘方向键就可以快速选择,实现了很好的用户体验。
Sindsun
2019/12/10
1.6K0
jQuery实现用户输入自动完成功能
android开发(十六) 如何限制 EditText 最大输入字符数
//editText.setFilters(new InputFilter[]{new InputFilter.LengthFilter(20)}); 即限定最大输入字符数为20
Java架构师必看
2021/05/27
1.2K0
mysql 如何修改用户密码_MySQL如何更改用户密码
2、正在更改密码的用户正在使用该应用程序,因为如果在不更改应用程序的连接字符串的情况下更改密码,则应用程序将无法连接到数据库服务器。
全栈程序员站长
2022/09/07
4.7K0
问与答121:如何让用户输入密码后才能使用Excel文件?
Q:有没有一种方法可以通过给用户提供密码来许可用户使用Excel文件?例如,在没有到规定的日期之前,可以正常使用,超过规定日期,则需要输入密码,如果密码不正确,将删除Excel文件。
fanjy
2021/05/07
1.2K0
详解EditText输入监听TextWatcher「建议收藏」
日常开发中,我们可能会遇到需要监听EditText输入,比如判断输入是否为电话号码,获取输入的数据长度来限定字数等。这就需要监听EditText的输入状态。EditText使用TextWatcher实现类似按钮监听事件:
全栈程序员站长
2022/07/31
3.1K0
详解EditText输入监听TextWatcher「建议收藏」
Android开发之输入框EditText介绍
这篇文章主要为大家详细介绍了Android布局之输入框EditText设计,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
wangweijun
2020/02/13
2.1K0
如何在Linux中更改用户ID?
在Linux系统中,每个用户都有一个唯一的用户ID(User ID),用于标识和管理用户的权限和资源访问。有时候,我们需要更改用户ID,可能是为了解决冲突、重组用户组或其他管理需求。本文将详细介绍如何在Linux中更改用户ID的几种方法。
网络技术联盟站
2023/06/08
8.5K0
如何在Linux中更改用户ID?
用户输入
大多数程序都在解决最终用户问题,为此通常需要从用户那里获取一些信息。在程序需要一个名字时,你需要提示用户输入该名字;程序需要一个名字时,你需要提示用户输入一系列名字。
狼啸风云
2019/01/18
9710
点击加载更多

相似问题

Android:用户完成编辑后评估EditText

43

用户输入后的EditText事件生成

43

如何在动画完成后更改QGraphicsPixmapItem的可见性?

13

如何检测用户何时完成在EditText中输入RecyclerView值?

11

EditText:检测用户输入更改与加载数据更改

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文