`map`比`each`更快吗?(Is `map` faster than `each`?)
迭代遍历数组的
map
比each
map
更快? 两者之间有速度差异吗?
地图
result = arr.map {|a| a + 2}
每
result = [] arr.each do |a| result.push(a + 2) end
Is
map
faster at iterating over the array thaneach
? Is there speed difference between the two?
Map
result = arr.map {|a| a + 2}
Each
result = [] arr.each do |a| result.push(a + 2) end
原文:https://stackoverflow.com/questions/31529069
最满意答案
我现在没有SQL SERVER,但对于SQL 2014 x64,它将是:
- 在这里您可以找到要下载的ms文件的链接: 从此处获取您需要从列表中查看:
ENU \ 64 \ SQLSysClrTypes.msi
ENU \ 64 \ SharedManagementObjects.msi
下载它安装并重新启动。
这里有完整的方法代码( 请在此过程中将sql连接字符串参数更改为服务器连接字符串 ):
public static bool RunScriptsInTransaction(string script) { SqlConnection con = new SqlConnection(); con.ConnectionString = "Server=YourSqlServer;Initial Catalog = YourDbName;User Id=YourUserName;Password=YourPassword;"; con.Open(); ServerConnection sCon = new ServerConnection(con); sCon.BeginTransaction(); try { sCon.ExecuteNonQuery(script); sCon.CommitTransaction(); } catch (Exception e) { sCon.RollBackTransaction(); return false; } finally { con.Close(); } return true; }
要运行它只需写:
RunScriptsInTransaction(@" ALTER PROCEDURE [dbo].[usp_TestProcedure] AS BEGIN SET NOCOUNT ON; PRINT 'Good evening' END GO ");
I do not now what SQL SERVER you have but for SQL 2014 x64 it will be:
- Here you have link to ms files to download: Get it from here You need to check from list:
ENU\x64\SQLSysClrTypes.msi
ENU\x64\SharedManagementObjects.msi
Download it install and reboot.
Here you have whole code for method (Please change sql connection string parameters to your server connection string in this procedure):
public static bool RunScriptsInTransaction(string script) { SqlConnection con = new SqlConnection(); con.ConnectionString = "Server=YourSqlServer;Initial Catalog = YourDbName;User Id=YourUserName;Password=YourPassword;"; con.Open(); ServerConnection sCon = new ServerConnection(con); sCon.BeginTransaction(); try { sCon.ExecuteNonQuery(script); sCon.CommitTransaction(); } catch (Exception e) { sCon.RollBackTransaction(); return false; } finally { con.Close(); } return true; }
To run it just write:
RunScriptsInTransaction(@" ALTER PROCEDURE [dbo].[usp_TestProcedure] AS BEGIN SET NOCOUNT ON; PRINT 'Good evening' END GO ");
相关问答
更多-
Excel到SQL Server - C#(Excel to SQL Server - C#)[2019-11-27]
有点猜测,但你有: string myexceldataquery = "select student from [Sheet1$]"; 然后你说 只有第一列正在上传到数据库 这似乎是完全可以预料的,如果你只在列上选择。 也许选择你想要的其他领域(我猜他们!): string myexceldataquery = "select student, rollno, course from [Sheet1$]"; A bit of a guess, but you have: string myexceld ... -
如何从C#代码更改表(How to alter table from C# code)[2021-07-04]
这个 : Use [DatabaseName] Go if Not exists( Select * from sys.columns As clm where clm.object_id = OBJECT_ID(N'[TableName]') And clm.name = N'[ColumnName]' ) Begin Alter Table TableName Add ColumnName Da ... -
我现在没有SQL SERVER,但对于SQL 2014 x64,它将是: 在这里您可以找到要下载的ms文件的链接: 从此处获取您需要从列表中查看: ENU \ 64 \ SQLSysClrTypes.msi ENU \ 64 \ SharedManagementObjects.msi 下载它安装并重新启动。 这里有完整的方法代码( 请在此过程中将sql连接字符串参数更改为服务器连接字符串 ): public static bool RunScriptsInTransaction(string script) ...
-
如果您愿意,可以在SQL Server中使用VARBINARY(MAX)字段类型。 您可以在其中存储任何类型的对象,最大为2 GB。 要访问它,您可以使用ADO.NET - 如下所示: object yourMysteryObject = (whatever you like it to be); MemoryStream memStream = new MemoryStream(); StreamWriter sw = new StreamWriter(memStm); sw.Write(yourMy ...
-
通过C#启动SQL Server(Starting SQL Server via C#)[2024-01-16]
我会将Sql Server Windows服务的启动模式更改为自动。 但你也可以在c#中做到这一点,但我不推荐它。 还有其他问题,如访问安全性等等。 System.Diagnostics.Process process = new System.Diagnostics.Process(); process.StartInfo.FileName = "net start \"Sql Server (SQLEXPRESS)\""; process.Start(); ... -
不要使用syscomments ,因为syscomments.text是nvarchar(4000) ,因此会截断任何更长的内容。 使用sys.sql_modules因为definition是nvarchar(max) ,所以不会截断长代码。 使用它来查看给定过程,视图或函数的文本: SELECT * FROM sys.sql_modules WHERE object_id=object_id('YourProcedure') 使用它来获取任何过程,视图或功能的名称,类型和文本: SELECT DISTI ...
-
当你可以执行条件更新时,为什么要完成所有工作(声明,选择,有条件地更新)? ALTER PROCEDURE [dbo].[CheckLastEnvioListadoComprobanteEjercicio] AS BEGIN SET NOCOUNT ON; UPDATE dbo.EnvioListadoEjercicioComprobantes SET LastDate = GETDATE() WHERE LastDate <= DATEADD(HOUR, -1, GETDATE ...
-
我假设从数据库的角度来看你有这样的东西 CREATE TABLE Items (ID INT -- primary key, Name VARCHAR(MAX), ParentID INT) -- foreign key that loops on the same table 和C#中这样的对象 public class Item { public int ID {get; set;} public strin ...
-
您需要运行SQL命令来执行以下步骤: 删除主键约束 改变主键 添加主键约束 如果有任何外键或索引,您可能也必须处理它们。 您要查找的命令与以下内容类似: Alter table confezionamento drop constraint PK_CONFEZIONAMENTO ALTER TABLE confezionamento ALTER COLUMN partnumber varchar(50) ALTER TABLE confezionamento ADD CONSTRAINT PK_CONFE ...
-
C#和SQL Server 2005(C# and SQL Server 2005)[2022-03-08]
首先 - 您应该为您的日期使用适当的类型 - 即DATETIME - 如果您可以避免, 请不要将日期转换为字符串然后返回! (你绝对可以在这里避免它) 其次:SQL Server中的DATETIME以及.NET中的DateTime都有日期和时间信息,例如2013-06-23 14:57:34所以如果你在JOIN条件下进行相等比较,那么只有那些行将选择与您的日期和时间 完全匹配的。 因此,如果您只想使用日期进行比较,则需要剥离时间部分。 所以在这里尝试这个代码: ALTER PROCEDURE dbo.You ...