在一次系統優化中,意外發現一個比較“坑”的SQL,拿出來供大家分享。 生成演示數據: 執行查詢: 上面查詢雖然列column_id上有索引,但由於該列的選擇性不高,查詢優化引擎根據預估行數生成“使用表掃描”的執行計划: 針對此測試環境,表掃描的確是最優的查詢方式 ...
事件起因:開發發現有表插入數據失敗,查看后發現INT類型自增值已經到了最大值,無法繼續插入,需要修改INT類型為BIGINT類型。 作為一群自認為還算有點經驗的老DBA,大家相互商量下,決定刪除復制,然后禁止訪問,刪除索引,再使用ALTER TABLE修改,最后再加回索引,再修改訪問,再不初始化訂閱,多完美的步驟。 於是在一群人嘻哈圍觀中,執行了上述步驟,運行修改腳本: 然后大家開始預估執行時間 ...
2014-07-15 02:29 10 5355 推薦指數:
在一次系統優化中,意外發現一個比較“坑”的SQL,拿出來供大家分享。 生成演示數據: 執行查詢: 上面查詢雖然列column_id上有索引,但由於該列的選擇性不高,查詢優化引擎根據預估行數生成“使用表掃描”的執行計划: 針對此測試環境,表掃描的確是最優的查詢方式 ...
HASH,百度百科上做如下定義: Hash,一般翻譯做“散列”,也有直接音譯為“哈希”的,就是把任意長度的輸入(又叫做預映射, pre-image),通過散列算法,變換成固定長度的輸出,該輸出就是散 ...
場景介紹: 我們有一張表,專門用來生成自增ID供業務使用,表結構如下: 每次業務想要獲取一個新ID,就執行以下SQL: 由於這些數據只需保留最近一天的數據,因此建立一個SQL作業來定期刪除數據,刪除腳本很簡單: 作業每10秒運行一次,每天運行 ...
值班期間研發同事打來電話,說應用有超時,上服務器上檢查發現有SQL大批量地執行,該SQL消耗IO資源較多,導致服務器存在IO瓶頸,細看SQL,發現自己都被整蒙了,不知道這SQL是要干啥,處理完問題趕緊 ...
今天使用SQLCMD導入到SQL SERVER數據庫中,看着數據文件都成功執行,但是意外發現有一個文件數據沒有成功導入,但執行不報錯,很容易導致問題被忽略。 使用存在問題的文件做下測試,從界面上看幾行腳本沒有任何問題: 4條INSERT語句“幾乎”一樣,區別在於最上面三行的部分 ...
--===================================================================== 部分朋友在遇到收縮數據庫文件的時候遇到一些困難,發現明 ...
經常需要手動增加、刪除、修改mysql表的字段類型,可以參考下面的例子: 增加多個字段: 刪除多個字段: 修改字段: ...
1、數據庫的概念 數據庫(DataBase,DB)是一個長期存儲在計算機內的、有組織的、有共享的、統一管理的數據集合。她是一個按數據結構來存儲和管理數據的計算機軟件系統。數據庫的概念實際包括兩層意思 ...