这两个等效表达式的速度/内存使用有什么不同:
Regex.IsMatch(Message, "1000")
Run Code Online (Sandbox Code Playgroud)
VS
Message.Contains("1000")
Run Code Online (Sandbox Code Playgroud)
任何一个比其他更好的情况?
这个问题的上下文如下:我正在对包含Regex表达式的遗留代码进行一些更改,以查找字符串是否包含在另一个字符串中.作为遗留代码,我没有对此进行任何更改,在代码审查中有人建议Regex.IsMatch应该替换为string.Contains.所以我想知道改变是否值得.
我正在使用SQL Server 2012.
我有用于存储用户的表.允许的最大用户数为100万.我有一个我正在注册用户的sproc.当我插入时,我想确保users表中的总行数不超过100万.我宁愿使用允许最大并发性的方法.
我相信我可以使用具有SERIALIZABLE的ISOLATION LEVEL的事务,然后首先计算行数并在总计数小于1百万时插入.我的理解是SERIALIZABLE是非常严格的,并且随着并发性的增加会导致性能下降.
IF(SELECT COUNT(*) FROM Users) < 100000
BEGIN
INSERT INTO Users VALUES (@Name, @Email, @Password)
END
Run Code Online (Sandbox Code Playgroud)
如何以原子方式执行此操作以确保总行数小于100万,但同时我执行最小锁定以防止阻止其他事务?
这种情况的任何解决方案/最佳实践?