原文:曲演雜壇--使用ALTER TABLE修改字段類型的吐血教訓

事件起因:開發發現有表插入數據失敗,查看后發現INT類型自增值已經到了最大值,無法繼續插入,需要修改INT類型為BIGINT類型。 作為一群自認為還算有點經驗的老DBA,大家相互商量下,決定刪除復制,然后禁止訪問,刪除索引,再使用ALTER TABLE修改,最后再加回索引,再修改訪問,再不初始化訂閱,多完美的步驟。 於是在一群人嘻哈圍觀中,執行了上述步驟,運行修改腳本: 然后大家開始預估執行時間 ...

2014-07-15 02:29 10 5355 推薦指數:

查看詳情

--使用CTE時踩的小坑:No Join Predicate

在一次系統優化中,意外發現一個比較“坑”的SQL,拿出來供大家分享。 生成演示數據: 執行查詢: 上面查詢雖然列column_id上有索引,但由於該列的選擇性不高,查詢優化引擎根據預估行數生成“使用表掃描”的執行計划: 針對此測試環境,表掃描的確是最優的查詢方式 ...

Fri Dec 18 01:41:00 CST 2015 11 752
--HASH的一點理解

HASH,百度百科上做如下定義: Hash,一般翻譯做“散列”,也有直接音譯為“哈希”的,就是把任意長度的輸入(又叫做預映射, pre-image),通過散列算法,變換成固定長度的輸出,該輸出就是散 ...

Tue Jun 10 23:25:00 CST 2014 10 715
--一條DELETE引發的思考

場景介紹: 我們有一張表,專門用來生成自增ID供業務使用,表結構如下: 每次業務想要獲取一個新ID,就執行以下SQL: 由於這些數據只需保留最近一天的數據,因此建立一個SQL作業來定期刪除數據,刪除腳本很簡單: 作業每10秒運行一次,每天運行 ...

Sun Nov 02 00:13:00 CST 2014 6 1392
--當ROW_NUMBER遇到TOP

值班期間研發同事打來電話,說應用有超時,上服務器上檢查發現有SQL大批量地執行,該SQL消耗IO資源較多,導致服務器存在IO瓶頸,細看SQL,發現自己都被整蒙了,不知道這SQL是要干啥,處理完問題趕緊 ...

Sun Dec 06 00:52:00 CST 2015 8 389
--SQLCMD下執行命令失敗但沒有任何錯誤提示的坑

今天使用SQLCMD導入到SQL SERVER數據庫中,看着數據文件都成功執行,但是意外發現有一個文件數據沒有成功導入,但執行不報錯,很容易導致問題被忽略。 使用存在問題的文件做下測試,從界面上看幾行腳本沒有任何問題: 4條INSERT語句“幾乎”一樣,區別在於最上面三行的部分 ...

Wed Jan 11 06:36:00 CST 2017 2 1376
--收縮數據庫數據文件

--===================================================================== 部分朋友在遇到收縮數據庫文件的時候遇到一些困難,發現明 ...

Sat Jun 07 04:35:00 CST 2014 8 765
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM