SQL Server 高性能分頁存儲過程三大經典方案深度解析與對比
分頁核心挑戰 大數據量 (百萬/千萬級) 深分頁 (第 10000 頁) 時,傳統 OFFSET/FETCH 或 ROW_NUMBER() 需掃描前 N 頁數據
MSSQL 執行計劃探索與 SQL 優化實戰:STATISTICS IO、SHOWPLAN、索引效果驗證
優化核心理念 SQL 優化不靠背誦規則 (「不用 IN」、「不用 OR」),靠看執行計劃、測邏輯讀、對比方案。優化器會根據統計信息、數據分佈、硬件資源動態選擇計
ASP.NET 程序報錯「磁盤空間不足」排查:SQL Server 日志文件佔用 C 駐清理實戰
故障現象 ASP.NET 應用拋出「磁盤空間不足」異常,檢查發現 C 駐剩餘 < 2MB,SQL Server 安裝目錄下 Log 文件夾佔用 5GB+。 根
SQL Server 自動生成連續無間隙編號方案:存儲過程填補刪除空洞
問題背景 使用 IDENTITY 自增列時,刪除記錄會產生「間隙」(如刪除 ID=2 後,新增為 ID=4),業務常需「連續無間隙」編號 (如單據號、工單號)。
SQL 多表關聯批量更新:JOIN UPDATE 與 MERGE 實現一條語句更新不同值
核心場景 兩表關聯,根據關鍵字匹配,將源表不同行的值更新到目標表對應行: -- 目標表 #TempTest1 ID | Name1 | Age ---|---
SQL Server 自定義函數與游標實現行轉列:標準宗地編碼按區段拼接
業務需求 土地管理系統中,將明細表按「區段編碼」分組,將各組的「標準宗地編碼」用逗號拼接為單行: -- 源表 Land 編號 | 標準宗地編碼 | 區段編碼
SQL Server 多行數據拼接神技:OUTER APPLY + FOR XML AUTO 實現分組拼接
業務場景 將垂直表 UserInfo 按 UserPart 分組,將同組的 UserName 和 UserName_CN 分別用分隔符拼接為單行: -- 源數
SQL Server 數據庫備份與恢復:密碼保護、自動備份腳本、完整語法詳解
密碼保護備份與恢復 -- 備份 (設置密碼 123) BACKUP DATABASE [數據庫名] TO DISK = NC:\Backup\MyDB_ +
SQL Server 日期時間函數完全指南:GETDATE/DATEADD/DATEDIFF/DATEPART/DATENAME/CONVERT 實戰大全
核心函數速查表 函數功能返回類型典型用法 GETDATE()當前系統日期時間DATETIME默認值、時間基準點 SYSDATETIME()高精度當前時間 (1
SQL Server 字符串截取函數全解析:LEFT/RIGHT/SUBSTRING/CHARINDEX/PATINDEX/REPLACE/STUFF 實戰
基礎定長截取 LEFT - 從左側截取 N 字符 DECLARE @S1 VARCHAR(100) = https://www.xrss.cn; SELEC
SQL Server 開發常用小技巧備忘錄:行數檢查、存儲過程調用、無鎖查詢
技巧一:@@ROWCOUNT 獲取影響行數並判斷執行結果 0 BEGIN PRINT 成功; -- 或執行後續邏輯 END ELSE BEGIN
SQL 批量剔除全空記錄行:COALESCE 函數高效實現
應用場景 數據導入 (ETL/Excel/CSV) 後,常產生「所有業務列均為 NULL」的垃圾行,需批量清理。 方法一:動態構建刪除語句 (通用、可審計)
SQL 實戰練習:人事系統缺勤統計與連續病假邏輯處理
業務需求 人事系統記錄員工缺勤,實現積分制管理: 單次缺勤記分,年度累計 ≥ 50 分可解僱 1 天視為長病假,第 2 天起不計分、不算缺勤 跨週末/節假日
SQL 實戰練習:WMS 庫存成本計算與貪婪算法配貨優化
核心業務場景 倉儲管理系統 (WMS) 中,同一商品分批次採購、單價不同。發貨時需按成本流轉假設計算發出成本: FIFO (先進先出):最早入庫的先發出,符合
SQL 實戰練習:促銷活動中銷售額最高職員查詢三種解法
業務場景 服裝銷售公司需根據促銷活動表與銷售記錄表,查詢每次促銷活動期間銷售總額最高的銷售員及其業績。 測試數據準備 -- 活動表 CREATE TABLE
SQL Server 獲取漢字拼音首字母函數:兩種實現方案對比
業務場景 中文系統常需按拼音首字母排序、檢索、生成縮寫碼 (如人員選擇器、通訊錄索引)。SQL Server 無內置拼音函數,需自定義實現。 方案一:區間比較
T-SQL 查詢語句邏輯執行順序深度解析:虛擬表流轉視角
核心概念:虛擬表流轉 T-SQL 查詢並非按書寫順序執行,而是經過 6 個邏輯階段,每階段生成一個虛擬表 (VT) 作為下一階段輸入,只有最終虛擬表返回給調用者
SQL 進階技巧:行列轉換與動態 SQL 生成實戰模式
核心場景:行轉列 (PIVOT) 將垂直存儲的「學生-科目-成績」記錄轉換為橫向的「學生-各科成績」寬表,是報表開發的高頻需求。 靜態行轉列 (已知科目)