資料庫效能優化(一):資料庫自身優化提升效能
前言 資料庫優化包含三部分:資料庫自身優化、資料表優化、程式操作優化。本文為第一部分。 優化 ①:增加次要資料檔案,設定自動成長(粗略資料分區) 1.1 增
資料庫效能優化三部曲之二:資料表設計與索引策略深度解析
優化一:規範化設計消除冗餘(前三範式) 範式核心要求通俗解釋 1NF屬性原子性,不可再分割每個欄位只存單一值,無陣列、集合、記錄 2NF非主鍵屬性完全依賴主鍵
資料庫效能優化三部曲之三:程式操作與 SQL 語句優化實戰
一、運算子優化策略 1. IN / NOT IN vs EXISTS / NOT EXISTS 大資料量首選 EXISTS:`IN` 若子查詢回傳大量資料,
SQL Server 限制使用者僅能看見自有權限資料庫的實作指南
核心原理 預設 `PUBLIC` 角色擁有 `VIEW ANY DATABASE` 權限,導致所有登入皆可在 SSMS 物件總管看見所有資料庫名稱。解決方式:
SQL 多條件、多欄位排序完整指南:從基礎 ORDER BY 到巢狀查詢進階技巧
基礎:多欄位排序語法 直接在 `ORDER BY` 列出多個欄位,依序為第一、第二、第三排序依據: SELECT * FROM [User] ORDER BY
SQL Server 強制中斷資料庫現有連線的 T-SQL 與批次腳本實作
應用場景 部署資料庫變更腳本前,常因現有連線導致 `DROP DATABASE` 失敗。需在腳本開頭強制斷開所有連線,確保部署順利進行。 核心 T-SQL 腳
快速檢測 SQL Server Service Pack 版本與補丁狀態
核心查詢語句 使用內建函數 `SERVERPROPERTY` 即可快速取得目前執行個體的補丁等級: SELECT SERVERPROPERTY(ProductL
SQL Server 交易記錄檔爆滿完整解決方案與最佳實踐
問題背景 當 SQL Server 的交易記錄檔(LDF)空間耗盡時,資料庫將無法寫入新資料,導致業務中斷。這通常發生在「完整復原模式」下未定期備份記錄檔,或長
SQL Server 2000 清空資料表並重置 IDENTITY 種子:TRUNCATE、DBCC CHECKIDENT、批次清空所有表
單表清空與重置 TRUNCATE TABLE 表名; -- 不可恢復刪除,IDENTITY 重排 -- 或使用 DELETE + 重置種子 DELETE
SQL ORDER BY ID DESC/ASC 加入第二排序欄位解決查詢緩慢問題
問題情境 原始查詢: SELECT TOP 6 * FROM [ViewCMPP_SendCentreMo] WHERE SendType = 扣費 ORDER
SQL Server 使用 xp_cmdshell 登出 Windows 遠端桌面 Session 解決「超過最大連接數」
問題背景 遠端桌面管理伺服器時,帳號未正常登出導致後續無法連線,錯誤:「終端服務器超出最大連接數」。 解決方案:透過 SA 帳號執行 xp_cmdshell
SQL Server 字串非空判斷:ISNULL、LEN、空字串處理最佳實踐
問題情境 函數中拼接字串後用 SUBSTRING(@sql, 1, LEN(@sql)-1) 移除尾端逗號,但 @sql 可能為空字串導致報錯。 判斷寫法比較
Oracle SQL*Loader (sqlldr) 資料載入完整實戰指南
基本流程 Excel 資料另存為 t.txt(Tab 分隔,副檔名 .txt) 建立目標表 撰寫控制檔 t.ctl 執行 sqlldr userid=...
SQL Server 觸發器完整指南:Inserted/Deleted 邏輯表與 AFTER/INSTEAD OF 差異
觸發器邏輯表 SQL Server 為每個觸發器建立兩個記憶體常駐邏輯表(非資料庫表),結構與觸發表相同,觸發器結束後自動刪除: 操作Inserted 表De
JDBC 連接 SQL Server 常見問題排查指南
1. 驅動程式版本對應 JDBC 2005 與 2008 驅動必須與資料庫版本對應,否則報錯。專案範例內含 JDBC 2005 驅動(lib 資料夾),右鍵 B
SQL Server 高可用常見問題深度分析
1. SQL Server 高可用真的無力嗎? 不是。SQL Server 非常給力,許多海量資料、高效能專案(歐美為主)皆採用 SQL Server 且未使用
SQL Server 處理資料庫鎖定:偵測與刪除阻塞進程預存程序
預存程序:p_lockinfo1 , spid, kpid, blocked, dbid, uid, loginame, cpu, login_time, op