小编Thr*_*onk的帖子

我应该在数据库中以什么数据类型存储电子邮件地址?

我知道 254 个字符的电子邮件地址是有效的,但我研究过的实现倾向于使用 varchar(60) 到 varchar(80) 或等效的。例如:此 SQL Server 推荐使用 varchar(80) 或此 Oracle 示例

是否有理由不使用最多 254 个字符?根据定义,varchar 不是只使用保存数据所需的存储空间吗?

是否存在显着的性能影响/权衡导致如此多的实现使用少于完整的 254 个可能字符?

database-design datatypes

51
推荐指数
3
解决办法
16万
查看次数

如何设计查询以暂停/休眠/等待指定的时间?

我正在针对 SQL Server 2000 实例测试监控应用程序。如何编写一个花费我指定的时间的 T-SQL 查询?例如,大多数脚本语言都有类似SLEEP命令的东西,它允许您在指定的时间内暂停脚本执行。我正在寻找与 SQL Server 2000 兼容的类似内容。这是为了测试监控应用程序的长时间运行的查询阈值设置。

sql-server sql-server-2000 t-sql

15
推荐指数
1
解决办法
6378
查看次数

如何确定 SSIS 转换是非阻塞、部分阻塞还是完全阻塞?

有几个博客声称将 SSIS 转换分为阻塞(异步)、非阻塞(同步)和部分阻塞(异步)。

在查看特定问题时:多播是同步(非阻塞)还是异步(部分阻塞)?

一个资源声称异步:“多播是一种异步(也称为部分阻塞)转换”来源:http : //social.technet.microsoft.com/wiki/contents/articles/7392.ssis-multicast-transformation.aspx

另一个同步:https ://jorgklein.com/2009/04/14/ssis-lookup-is-case-sensitive/

其他资源声称 DQS Cleansing 转换是一种非阻塞转换,但在我看来它是部分阻塞的。

请不要使用按类型分类的转换列表的链接来回答。这个问题的答案有望采用更严格的方法来证明正确答案。

由于部分阻塞和阻塞转换会将数据移动到新的缓冲区,而不是在缓冲区上操作的非阻塞,我怀疑解决方案是在转换执行期间观察缓冲区的创建,但我不确定(a ) 如果这会产生明确的答案和 (b) 如何做到这一点。

我相信非阻塞转换不会导致新的执行树开始,因此答案可能在于记录 PipelineExectionTrees 和 PipelineExecutionPlan。这可以区分同步和异步,但不能区分部分阻塞和完全阻塞。

sql-server ssis ssis-2012

12
推荐指数
1
解决办法
3188
查看次数

什么时候适合使用单独的模式进行数据库设计?

我正在开发一个数据库,其中的数据来自许多不同的应用程序。在我的第一次设计中,我将每个临时表放置在以其源应用程序命名的模式中。

由于多个源应用程序具有相似的数据和相似的表名称,因此我使用架构名称来区分源应用程序。我正在考虑的替代方案是使用单个架构并在表名称中包含源应用程序。

我想研究有关何时使用不同模式的设计规则以及这样做的利弊,但我找不到任何东西。

该架构纯粹是为了许可和安全吗?

从组织的角度来看,在超出应用程序开发所需的单独模式中创建对象是否有意义,或者这只是不必要地增加查询的复杂性?

这个决定是否还有我忽略考虑的其他影响?

oracle database-design sql-server db2

5
推荐指数
1
解决办法
6045
查看次数

NTILE 是否适用于浮点数?

我试图在我的 PARTITION BY 子句中使用浮点数据类型对我的数据使用 NTILE。请原谅人为的例子,但我认为说明我的问题和困惑的最好方法是通过以下代码:

CREATE TABLE Test 
(
    Cash float NOT NULL,
    Number int NOT NULL
)
GO

INSERT INTO TEST VALUES(1.05,1);
INSERT INTO TEST VALUES(1.368,1);
INSERT INTO TEST VALUES(0.775,1);
INSERT INTO TEST VALUES(1.699,1);
INSERT INTO TEST VALUES(1.599,1);
INSERT INTO TEST VALUES(0.80,1);
INSERT INTO TEST VALUES(0.80,1);
INSERT INTO TEST VALUES(0.994,1);
INSERT INTO TEST VALUES(0.848,1);
INSERT INTO TEST VALUES(0.675,1);
INSERT INTO TEST VALUES(0.575,1);
INSERT INTO TEST VALUES(12.998,1);
INSERT INTO TEST VALUES(1.999,1);
INSERT INTO TEST VALUES(0.65,1);
INSERT INTO TEST VALUES(0.80,1);
INSERT …
Run Code Online (Sandbox Code Playgroud)

sql-server t-sql

4
推荐指数
1
解决办法
585
查看次数

Oracle 指定用户许可可以重复使用吗?

如果我在 1 月份有 20 个命名用户,那么到了 2 月份,这些用户不会保留访问权限,而是被 20 个新用户取代。

对于这个用例,我需要 40 个命名用户还是 20 个就足够了?

oracle license

2
推荐指数
1
解决办法
511
查看次数