• sql server 创建索引 超时时间已到


    如下图所示:在现场PR_Product表中添加绯聚焦索引PSCode,点击保存按钮后等了一段时间弹出超时警告!现场这张表的数据量也是特别大的(250+万),但是我本地也是把现场数据库还原了的,一样的数据库我本地能够点击保存添加索引,现场就不行了。

    找度娘找寻解决方案:https://bbs.csdn.net/topics/392295567   https://www.jb51.net/article/28041.htm   这两个网页都有提到不要点击保存按钮,而是生成一个脚本,我按他们的意思找了半天终于被我找到了

    具体步骤:

    1.右击表结构/设计/鼠标放在左侧编辑区右键/添加索引键  弹出以下页面;点击添加按钮,选择列和排序方式,确定后修改名称,点击关闭按钮(关闭后自动保存新添加的索引信息(注意此保存并不是表结构已经创建了索引了))

    2.关闭上面的页面后为下面第一张图,鼠标指向左侧处,右击,在弹出列表中点击生成更改脚本,弹出下面第二张图(英文版客户端则点击changescript选项,弹出下面第三张图)

     3.复制上面的第二张图片的脚本,点击关闭按钮关闭此页面;再新建一个查询页面,粘贴刚刚复制的内容,如下图所示;

    /* 为了防止任何可能出现的数据丢失问题,您应该先仔细检查此脚本,然后再在数据库设计器的上下文之外运行此脚本。*/
    BEGIN TRANSACTION
    SET QUOTED_IDENTIFIER ON
    SET ARITHABORT ON
    SET NUMERIC_ROUNDABORT OFF
    SET CONCAT_NULL_YIELDS_NULL ON
    SET ANSI_NULLS ON
    SET ANSI_PADDING ON
    SET ANSI_WARNINGS ON
    COMMIT
    BEGIN TRANSACTION
    GO
    CREATE NONCLUSTERED INDEX TableColumnFile ON dbo.PR_Product
        (
        TableColumnFile
        ) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
    GO
    ALTER TABLE dbo.PR_Product SET (LOCK_ESCALATION = TABLE)
    GO
    COMMIT

    4.执行上面的脚本,再次查看该数据表的索引发现刚刚建好的索引已经存在了。此方法比直接点击保存按钮要快的多。

    备注:图片有点乱,是本地和现场凑起来的,功能步骤是一样的。

  • 相关阅读:
    字符编码与解码详解
    【Java反射机制】用反射改进简单工厂模式设计
    数据结构
    根据 中序遍历 和 后序遍历构造树(Presentation)(C++)
    【动态规划】记忆搜索(C++)
    Linux环境下安装中山大学东校区iNode客户端
    webpack前端开发环境搭建
    CSS中line-height继承问题
    MySQL中MyISAM与InnoDB的主要区别对比
    JavaScript中易混淆的DOM属性及方法对比
  • 原文地址:https://www.cnblogs.com/luna-hehe/p/10772825.html
Copyright © 2020-2023  润新知