重複したSQLを共通化します
重複したSQLを共通化します(中国語の原文)
这三个查询 [SQL 片段] 有八成 WHERE 条件相同。请给出收敛方案:抽成视图、CTE,还是仓储层的一个方法;比较三者的可维护性与性能影响(是否会被内联、还能不能走索引)。输出重构后的 SQL 和调用处改法,并提示哪些条件看着相同其实语义不同,比如软删除标记放在哪一层。
当サイトオリジナル
中国語の原文
使い方
抽 SQL 前先用执行计划对比一次,避免为了复用把能走索引的条件包进函数里。
重複したSQLを共通化します(中国語の原文)
这三个查询 [SQL 片段] 有八成 WHERE 条件相同。请给出收敛方案:抽成视图、CTE,还是仓储层的一个方法;比较三者的可维护性与性能影响(是否会被内联、还能不能走索引)。输出重构后的 SQL 和调用处改法,并提示哪些条件看着相同其实语义不同,比如软删除标记放在哪一层。
中国語の原文
抽 SQL 前先用执行计划对比一次,避免为了复用把能走索引的条件包进函数里。