資料庫批量運算優於游標。以「學生成績分級」為例,三種演算法對比:
level_about(start_score, end_score, level),單句 UPDATE ... JOIN ... BETWEEN 完成,無重複寫入,碼簡單、效能最佳。UPDATE student_score
SET student_score.level = level_about.level
FROM level_about
WHERE student_score.score BETWEEN level_about.start_score AND level_about.end_score;
以空間換時間(對照表極小),利用集合運算特性,體現「批量處理、避免游標、減少重複 I/O」的核心優化思想。