如下圖所示:在現場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.執行上面的腳本,再次查看該數據表的索引發現剛剛建好的索引已經存在了。此方法比直接點擊保存按鈕要快的多。
備注:圖片有點亂,是本地和現場湊起來的,功能步驟是一樣的。