ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

mysql – rails – 数字比较与文本比较的速度要快得多

2019-07-21 21:16:11  阅读:214  来源: 互联网

标签:mysql sql ruby-on-rails ruby-on-rails-3 ruby


我的模型中有一个非常昂贵的方法,用于比较许多项的数组的文本项.

它运行得很慢.如果我使用关系数据库表并仅比较ID,那么我的方法运行速度会快得多吗?

/编辑

我试图对以下内容进行基准测试:

 @matches = @location_matches.sort do |l1, l2|
      l1.compute_score(current_user) <=> l2.compute_score(current_user)
    end

    @matches.reverse!

解决方法:

简而言之,我猜数字比较会更快,因为比较字符串是关于比较字符后的字符(建议:在Ruby使用符号时,你可以比较快).

无论如何,你会发现there,你需要的一切基准和获得你的详细结果.

代码示例:

require 'benchmark'

n = 50000
Benchmark.bm do |x|
  x.report("for:")   { for i in 1..n; a = "1"; end }
  x.report("times:") { n.times do   ; a = "1"; end }
  x.report("upto:")  { 1.upto(n) do ; a = "1"; end }
end

结果:

                user     system      total        real
   for:     1.050000   0.000000   1.050000 (  0.503462)
   times:   1.533333   0.016667   1.550000 (  0.735473)
   upto:    1.500000   0.016667   1.516667 (  0.711239)

标签:mysql,sql,ruby-on-rails,ruby-on-rails-3,ruby
来源: https://codeday.me/bug/20190721/1495546.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有