草庐IT

做 SQL 性能优化真是让人干瞪眼

全部标签

sql - Ruby on Rails Where 子句小于大于

所以我想做一个ruby​​onrails查询,它以这种方式构造,具有小于和大于约束。self.order('random()').where(friends:friend,age:{minimum:5,maximum:20})作为ruby​​初学者,以上是我想象的完成方式。但是,这不起作用。如何正确实现这一目标? 最佳答案 使用范围对象。.where(age:5..50)或者你可以这样写.where('ageBETWEEN5AND20') 关于sql-RubyonRailsWhere子句

ruby-on-rails - 与 unicorn/thin/puma/etc 相比 passenger 5 的性能

在阅读here时,我一直在寻找新乘客5的性能测试。它变得更快。我试图找到其他资源来证实这一点,但没有成功。有没有人尝试安装它并看到区别? 最佳答案 Passenger5在自定义选择的基准测试中得分更高,因为它有一个内置的缓存层(“turbocaching”),可以避免在短时间内为相同的请求实际运行您的应用程序代码;它不会使您的实际应用程序代码运行得更快。此缓存层仅在某些受限情况下处于事件状态,并且在绝大多数实际情况下不太可能提供太多好处。如果您不小心,缓存层实际上可能最终会破坏您的应用程序-我演示了几个securityvulnera

ruby-on-rails - 奇怪的 ActiveRecord 问题——比如生成无效的 SQL

最近我们部署了一个新版本的应用程序,从那时起我们就发现ActiveRecord存在一些非常奇怪的问题。例如,这是它每天生成数百次的查询片段,通常是正确的:`entries`.`style`ASt1_r25,`entries`.`pdf_visibility`AS,`entries`.`web_visibility`ASt1_r27这不是打字错误,t1_r26不见了,虽然它应该在的地方有一个空格。但只有那一次。这也不是手写SQL,而是ActiveRecord编写查询并决定所有占位符变量。它同样拙劣地破坏了其他查询,将不应该留空(甚至不应该留空)的东西留空,但只是偶尔留空一次。大多数时候都

ruby - 将 ORM 添加到 Sinatra 应用程序;有没有问题少性能好的理想的?

我希望将ORM添加到我现有的Sinatra应用程序中。尽管我还没有尝试过ActiveRecord,但我了解了Datamapper、Sequel和ActiveRecord。Datamapper看起来很简单,但我一直面临“WhatORMtouseinoneprocessmultipledbconnectionssinatraapplication?”中讨论的问题,但无法理解解决方案和根本原因。对于选择合适的、以性能为导向的ORM有什么建议吗? 最佳答案 Sequel足够快,但功能较少,而ActiveRecord有许多很酷的功能,导致一些

sql - 在数据库中清晰地表示电子商务产品和变体

我正在build一家电子商务商店。我正在使用Rails/ActiveRecord,但实际上没有必要回答这个问题(但是,如果您熟悉这些东西,请随时用Rails/AR来回答)。商店的一个要求是它需要代表两种类型的产品:简单产品-这些产品只有一种选择,例如乐队的CD。它有基本的价格和数量。有变化的产品-这些产品有多种选择,例如有3种尺寸和3种颜色的T恤。每种尺寸和颜色的组合都有自己的价格和数量。我以前做过这种事,做了以下几点:有一个产品表,其中包含产品的主要信息(标题等)。有一个变体表,其中包含每种变体的价格和数量信息。产品有_many变体。对于简单产品,他们只会有一个相关联的变体。有没有更

ruby - 与 Webdriver 相比,Watir-Webdriver 和 Capybara 是否存在性能问题?

我即将将我的测试自动化语言从Java更改为Ruby(我有一份新工作,其中Ruby更适合技术堆栈)。我在Java和Webdriver方面有很多经验,但可以看到Watir和Capybara等包装器在Ruby中的使用似乎比直接访问WebdriverAPI更多。我对使用此类库的关注是性能。我通常会尝试将第三方网格(例如Saucelabs)集成到我的测试框架中,但了解到selenium网络元素对象的缓存很重要,因为不断查找元素会对性能产生影响。如果我使用像Capybara这样的库,我会失去控制缓存策略的能力吗?我之前调查过Geb,发现该框架不断地重新创建网络元素而不是缓存,并且它在更改该行为方面

ruby - 为什么 `send` 会因 Ruby 2.0 优化而失败?

为什么这不起作用?moduleStringRefinementrefineStringdodefbarlengthendendendusingStringRefinement"abcdefghijklmnopqrstuvwxyz".send(:bar)#NoMethodError:undefinedmethod'bar'for"abcdefghijklmnopqrstuvwxyz":String有人可以解释为什么send在这里不起作用吗?有没有办法动态调用定义在细化中的方法?我似乎找不到关于Ruby2.0中的改进工作原理的完整解释。 最佳答案

ruby - ruby on rails 中的 SQL Like 运算符

我的任务是选择搜索名字以参数值和所选值中的城市开头的学生。如何在ruby​​onrails中进行设置?我确实喜欢这个,但这不起作用Controllerdefliststudentcount=Student.count()putsstudentcount@studentname=Student.where("namename1ANDcity=:cityId1",{:name1=>params[:name],:cityId1=>params[:cityId]})puts'studentname'puts@studentname.inspect@students=Student.limit(

sql - Rails 控制台和 Rails 服务器日志中输出的颜色是什么意思?

我在Ubuntu14.04中的通用终端(应用程序简称为“终端”)内运行railsserver和railsconsole。每当我运行涉及数据库的命令时,控制台都会输出它发送的SQL查询,但有时文本是绿松石色,有时是紫​​色。例如在这个控制台输出中:2.2.2:025>pl=ProjectLevel.find_by(name:'Premium')ProjectLevelLoad(0.5ms)SELECT"project_levels".*FROM"project_levels"WHERE"project_levels"."deleted_at"ISNULLAND"project_level

sql - 按年、月分组,然后在 ActiveRecord 3 中计数

我正在尝试统计一年和一个月内创建的所有用户,但以下内容似乎没有按预期工作。User.group("YEAR(created_AT),MONTH(created_at)").count("DISTINCT(id),YEAR(created_at),MONTH(created_at)")我在找类似的东西{2011=>{1=>222,2=>333,4=>444,5=>667...}}但是我得到了{1=>222,2=>333,4=>444,5=>667...}我是不是遗漏了什么,或者ActiveRecord不能在一次查询中给我这个结果? 最佳答案