資料庫設計與查詢寫法是性能根本。介紹四個經實戰驗證的技巧:
關鍵在於同一連接、緊跨 INSERT 之後執行 SELECT @@IDENTITY。最佳實踐:
SET NOCOUNT ON;
INSERT INTO Products (ProductName) VALUES ('Chalk');
SELECT @@IDENTITY;
或建立 FOR INSERT 觸發器自動返回,應用層統一讀取第一個結果集,避免 NextRecordset 混淆。
針對「找出 A 中不存在於 B 的資料」,LEFT JOIN ... WHERE B.key IS NULL 往往比 NOT IN 執行計畫更優,尤其當 B 含 NULL 時語義更正確。
需產生所有維度組合(如「每門店 × 每商品 × 每日期」)時,CROSS JOIN 比游標/迴圈高效數量級。
使用 sp_executesql + 參數,避免臨時 SQL 字串導致大量單用計劃佔用 Procedure Cache。
提醒:無銀彈,需配合負載測試、執行計畫分析、持續迭代。