当前位置: 首页 > news >正文

百度网站名称/网站怎么优化关键词快速提升排名

百度网站名称,网站怎么优化关键词快速提升排名,给公司做网站风险,wordpress能放视频教程昨天检查了一张效率极慢的表,两年多没有维护,逻辑扫描碎片高达99.81%,于是开始对这个表进行重点跟踪和记录日志。今天用DBCC SHOWCONTIG WITH TABLERESULTS 命令检查了一下所有表的概况,然后参照着MSDN对字段的说明,发…
    昨天检查了一张效率极慢的表,两年多没有维护,逻辑扫描碎片高达99.81%,于是开始对这个表进行重点跟踪和记录日志。今天用DBCC SHOWCONTIG WITH TABLERESULTS  命令检查了一下所有表的概况,然后参照着MSDN对字段的说明,发现问题比较严重。ScanDensity(这是“最佳计数”与“实际计数”的比率。如果所有内容都是连续的,则该值为 100;如果该值小于 100,则存在一些碎片)有的甚至在16.6666666666667,其他扫描密度等指标也特别不理想。检查:随便贴出一个表的扫描结果:--------------------------------------------------------------------------------------------------------------------------DBCC SHOWCONTIG 正在扫描 'UserInfo' 表...表: 'UserInfo' (1646628909);索引 ID: 1,数据库 ID: 7已执行 TABLE 级别的扫描。- 扫描页数................................: 367- 扫描区数..............................: 48- 区切换次数..............................: 355- 每个区的平均页数........................: 7.6- 扫描密度 [最佳计数:实际计数].......: 12.92% [46:356]- 逻辑扫描碎片 ..................: 95.37%- 区扫描碎片 ..................: 47.92%- 每页的平均可用字节数.....................: 2996.8- 平均页密度(满).....................: 62.98%DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。--------------------------------------------------------------------------------------------------------------------------解释如下( 查看解释来源点此 ,MSDN解释太官方,还是用简单点的话来解释):扫描页数:如果你知道行的近似尺寸和表或索引里的行数,那么你可以估计出索引里的页数。看看扫描页数,如果明显比你估计的页数要高,说明存在内部碎片。 扫描扩展盘区数:用扫描页数除以8,四舍五入到下一个最高值。该值应该和DBCC SHOWCONTIG返回的扫描扩展盘区数一致。如果DBCC     SHOWCONTIG返回的数高,说明存在外部碎片。碎片的严重程度依赖于刚才显示的值比估计值高多少。 扩展盘区开关数:该数应该等于扫描扩展盘区数减1。高了则说明有外部碎片。 每个扩展盘区上的平均页数:该数是扫描页数除以扫描扩展盘区数,一般是8。小于8说明有外部碎片。 扫描密度[最佳值:实际值]:DBCC SHOWCONTIG返回最有用的一个百分比。这是扩展盘区的最佳值和实际值的比率。该百分比应该尽可能靠近100%。低了则说明有外部碎片。逻辑扫描碎片:无序页的百分比。该百分比应该在0%到10%之间,高了则说明有外部碎片。 扩展盘区扫描碎片:无序扩展盘区在扫描索引叶级页中所占的百分比。该百分比应该是0%,高了则说明有外部碎片。 每页上的平均可用字节数:所扫描的页上的平均可用字节数。越高说明有内部碎片,不过在你用这个数字决定是否有内部碎片之前,应该考虑fill factor(填充因子)。 平均页密度(完整):每页上的平均可用字节数的百分比的相反数。低的百分比说明有内部碎片。整理数据库碎片索引看到如此不对劲,果断去MSDN查找相关资料,找到了MSDN有对数据库索引进行碎片整理的T-SQL,执行了一下,发现效果还不错。使用 DBCC SHOWCONTIG 和 DBCC INDEXDEFRAG 对数据库中的索引进行碎片整理:(以下示例将展示一种简单的方法,对数据库中碎片数量在声明的阈值之上的所有索引进行碎片整理。)    /*Perform a 'USE <database name>' to select the database in which to run the script.*/
-- Declare variables
SET NOCOUNT ON;
DECLARE @tablename varchar(255);
DECLARE @execstr   varchar(400);
DECLARE @objectid  int;
DECLARE @indexid   int;
DECLARE @frag      decimal;
DECLARE @maxfrag   decimal;-- Decide on the maximum fragmentation to allow for.
SELECT @maxfrag = 30.0;-- Declare a cursor.
DECLARE tables CURSOR FORSELECT TABLE_SCHEMA + '.' + TABLE_NAMEFROM INFORMATION_SCHEMA.TABLESWHERE TABLE_TYPE = 'BASE TABLE';-- Create the table.
CREATE TABLE #fraglist (ObjectName char(255),ObjectId int,IndexName char(255),IndexId int,Lvl int,CountPages int,CountRows int,MinRecSize int,MaxRecSize int,AvgRecSize int,ForRecCount int,Extents int,ExtentSwitches int,AvgFreeBytes int,AvgPageDensity int,ScanDensity decimal,BestCount int,ActualCount int,LogicalFrag decimal,ExtentFrag decimal);-- Open the cursor.
OPEN tables;-- Loop through all the tables in the database.
FETCH NEXTFROM tablesINTO @tablename;WHILE @@FETCH_STATUS = 0
BEGIN;
-- Do the showcontig of all indexes of the tableINSERT INTO #fraglist EXEC ('DBCC SHOWCONTIG (''' + @tablename + ''') WITH FAST, TABLERESULTS, ALL_INDEXES, NO_INFOMSGS');
   FETCH NEXTFROM tablesINTO @tablename;
END;-- Close and deallocate the cursor.
CLOSE tables;
DEALLOCATE tables;-- Declare the cursor for the list of indexes to be defragged.
DECLARE indexes CURSOR FORSELECT ObjectName, ObjectId, IndexId, LogicalFragFROM #fraglistWHERE LogicalFrag >= @maxfragAND INDEXPROPERTY (ObjectId, IndexName, 'IndexDepth') > 0;-- Open the cursor.
OPEN indexes;-- Loop through the indexes.
FETCH NEXTFROM indexesINTO @tablename, @objectid, @indexid, @frag;WHILE @@FETCH_STATUS = 0
BEGIN;PRINT 'Executing DBCC INDEXDEFRAG (0, ' + RTRIM(@tablename) + ',' + RTRIM(@indexid) + ') - fragmentation currently '
       + RTRIM(CONVERT(varchar(15),@frag)) + '%';SELECT @execstr = 'DBCC INDEXDEFRAG (0, ' + RTRIM(@objectid) + ',' + RTRIM(@indexid) + ')';
   EXEC (@execstr);FETCH NEXTFROM indexesINTO @tablename, @objectid, @indexid, @frag;
END;-- Close and deallocate the cursor.
CLOSE indexes;
DEALLOCATE indexes;-- Delete the temporary table.
DROP TABLE #fraglist;
GO执行后会返回索引扫描数、移动数、删除数(Pages Scanned、Pages Moved、Pages Removed)。效果还是很明显的,然后再把扫描结果进行比对:-----------------------------------------------------------------------------------------------------------------DBCC SHOWCONTIG 正在扫描 'UserInfo' 表...表: 'UserInfo' (1646628909);索引 ID: 1,数据库 ID: 7已执行 TABLE 级别的扫描。- 扫描页数................................: 237- 扫描区数..............................: 31- 区切换次数..............................: 30- 每个区的平均页数........................: 7.6- 扫描密度 [最佳计数:实际计数].......: 96.77% [30:31]- 逻辑扫描碎片 ..................: 2.95%- 区扫描碎片 ..................: 29.03%- 每页的平均可用字节数.....................: 200.3- 平均页密度(满).....................: 97.52%DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系------------------------------------------------------------------------------------------------------------结果很有对比性,碎片大幅降低,每页的平均可用字节数大幅降低,扫描密度提高,平均页密度达到理想中的近饱和数值。看来DBCC的一些命令和MSDN的联机丛书还是很不错滴。虽然暂时降低了一些碎片指标,但只要有操作肯定也会有碎片产生,通过一段的时间跟踪,才能对整体情况进行主观的判断。相关链接:http://msdn.microsoft.com/zh-cn/library/ms188796.aspx
http://msdn.microsoft.com/zh-cn/library/ms175008(v=sql.90).aspx

 

http://www.jmfq.cn/news/5295169.html

相关文章:

  • 西安 网站 高端 公司/优化seo软件
  • 郑州汉狮做网站好不/信息流广告是什么意思
  • 做黄网站赚钱吗/seo研究中心vip教程
  • 西咸新区规划建设局网站/seo排名优化哪家好
  • 大兴安岭建设局网站/如何优化搜索引擎
  • 上海制作企业网站/名优网站关键词优化
  • 科技助手/沈阳seo优化排名公司
  • 网站的登录注册页面怎么做/网站seo设置是什么
  • 手机版免费个人简历模板/天津seo推广
  • 深圳市住房和建设局网站住房保障/宁波seo行者seo09
  • 钓鱼网站如何做/在线服务器网站
  • 一键生成网站/网络营销工程师
  • 做网站不优化/公司怎么在百度上推广
  • 如何做网站不容易被攻击/seo内部优化方案
  • 备案的网站名/百度竞价被点击软件盯上
  • 广州做网站公司哪家好/百度域名查询
  • 网站建设佰首选金手指十二/品牌营销策略
  • 药品网站如何建设/网站网页设计
  • 惠州建设银行网站/淘宝运营培训班
  • 怎么做国外的网站吗/购买链接怎么买
  • 微信服务号菜单链接网站怎么做/网站排名费用
  • 做网站遇上麻烦客/百度建站云南服务中心
  • 自考在线做试卷的网站/百度手机端排名如何优化
  • 中国人民银行网站官网/怎样联系百度客服
  • 学做网站论坛vip号码/什么是搜索引擎营销?
  • 网页设计模板网/seo案例分析及解析
  • 江门外贸网站建设/网络运营与推广
  • 网站建设 起飞/seo优化收费
  • 网站建设福建/宁波seo公司
  • 雄安移动网站建设/四川旅游seo整站优化站优化