gpt4 book ai didi

sql-server-2008-r2 - 你如何用存储过程做特征标志

转载 作者:行者123 更新时间:2023-12-04 04:22:58 26 4
gpt4 key购买 nike

我有一个正在处理的系统,它几乎所有的逻辑都在 SQL Server 存储过程中。作为改进开发实践的一部分,我们希望转向使用功能标志(也称为切换)的持续交付模型,以在生产中启用功能。

我如何编写存储过程,以便它们有效地检查标志,并且不会在每次调用过程时都通过敲打配置表来增加数据库负载?

最佳答案

我不认为您需要过早地针对您不知道会存在的性能问题进行优化。如果您的表有 100 行并且经常被引用,它几乎肯定会在 100% 的时间内在内存中并且访问将不是问题。

我们使代码向前兼容的一种方法是向过程添加一个具有默认值的参数,当应用程序准备好执行此操作时,应用程序可以“升级”。这可以通过配置文件参数来完成,但大概必须重新编译应用程序才能利用新功能。

举个简单的例子:

CREATE PROCEDURE dbo.doStuff
@version DECIMAL(10,2) = 1.0
AS
BEGIN
SET NOCOUNT ON;

IF @version >= 1.1
BEGIN
PRINT 'This only executes if the app tells us it is 1.1 or newer.';
END

IF @version >= 2.5
BEGIN
PRINT 'This only executes if the app tells us it is 2.5 or newer.';
END
END
GO

当所有应用程序都是最新的时,您可以在参数上增加基础版本。否则,它们都可以以自己的速率更新,并且模式可以以不同的速率进行。如果您可以将每个功能与连续的点发布相关联,那么这应该不会太难管理。但我再次强调,100 行的表格不会像您认为的那样拖累您的性能...

关于sql-server-2008-r2 - 你如何用存储过程做特征标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11838126/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com