首页 \ 问答 \ `map`比`each`更快吗?(Is `map` faster than `each`?)

`map`比`each`更快吗?(Is `map` faster than `each`?)

迭代遍历数组的mapeach 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 than each? 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
更新时间:2023-05-08 14:05

最满意答案

我现在没有SQL SERVER,但对于SQL 2014 x64,它将是:

  1. 在这里您可以找到要下载的ms文件的链接: 从此处获取您需要从列表中查看:

ENU \ 64 \ SQLSysClrTypes.msi

ENU \ 64 \ SharedManagementObjects.msi

下载它安装并重新启动。

  1. 这里有完整的方法代码( 请在此过程中将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:

  1. 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.

  1. 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
    ");

相关问答

更多
  • 有点猜测,但你有: string myexceldataquery = "select student from [Sheet1$]"; 然后你说 只有第一列正在上传到数据库 这似乎是完全可以预料的,如果你只在列上选择。 也许选择你想要的其他领域(我猜他们!): string myexceldataquery = "select student, rollno, course from [Sheet1$]"; A bit of a guess, but you have: string myexceld ...
  • 这个 : 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 ...
  • 我会将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 ...
  • 首先 - 您应该为您的日期使用适当的类型 - 即DATETIME - 如果您可以避免, 请不要将日期转换为字符串然后返回! (你绝对可以在这里避免它) 其次:SQL Server中的DATETIME以及.NET中的DateTime都有日期和时间信息,例如2013-06-23 14:57:34所以如果你在JOIN条件下进行相等比较,那么只有那些行将选择与您的日期和时间 完全匹配的。 因此,如果您只想使用日期进行比较,则需要剥离时间部分。 所以在这里尝试这个代码: ALTER PROCEDURE dbo.You ...

相关文章

更多

最新问答

更多
  • 获取MVC 4使用的DisplayMode后缀(Get the DisplayMode Suffix being used by MVC 4)
  • 如何通过引用返回对象?(How is returning an object by reference possible?)
  • 矩阵如何存储在内存中?(How are matrices stored in memory?)
  • 每个请求的Java新会话?(Java New Session For Each Request?)
  • css:浮动div中重叠的标题h1(css: overlapping headlines h1 in floated divs)
  • 无论图像如何,Caffe预测同一类(Caffe predicts same class regardless of image)
  • xcode语法颜色编码解释?(xcode syntax color coding explained?)
  • 在Access 2010 Runtime中使用Office 2000校对工具(Use Office 2000 proofing tools in Access 2010 Runtime)
  • 从单独的Web主机将图像传输到服务器上(Getting images onto server from separate web host)
  • 从旧版本复制文件并保留它们(旧/新版本)(Copy a file from old revision and keep both of them (old / new revision))
  • 西安哪有PLC可控制编程的培训
  • 在Entity Framework中选择基类(Select base class in Entity Framework)
  • 在Android中出现错误“数据集和渲染器应该不为null,并且应该具有相同数量的系列”(Error “Dataset and renderer should be not null and should have the same number of series” in Android)
  • 电脑二级VF有什么用
  • Datamapper Ruby如何添加Hook方法(Datamapper Ruby How to add Hook Method)
  • 金华英语角.
  • 手机软件如何制作
  • 用于Android webview中图像保存的上下文菜单(Context Menu for Image Saving in an Android webview)
  • 注意:未定义的偏移量:PHP(Notice: Undefined offset: PHP)
  • 如何读R中的大数据集[复制](How to read large dataset in R [duplicate])
  • Unity 5 Heighmap与地形宽度/地形长度的分辨率关系?(Unity 5 Heighmap Resolution relationship to terrain width / terrain length?)
  • 如何通知PipedOutputStream线程写入最后一个字节的PipedInputStream线程?(How to notify PipedInputStream thread that PipedOutputStream thread has written last byte?)
  • python的访问器方法有哪些
  • DeviceNetworkInformation:哪个是哪个?(DeviceNetworkInformation: Which is which?)
  • 在Ruby中对组合进行排序(Sorting a combination in Ruby)
  • 网站开发的流程?
  • 使用Zend Framework 2中的JOIN sql检索数据(Retrieve data using JOIN sql in Zend Framework 2)
  • 条带格式类型格式模式编号无法正常工作(Stripes format type format pattern number not working properly)
  • 透明度错误IE11(Transparency bug IE11)
  • linux的基本操作命令。。。