小编acc*_*cco的帖子

"is not null"vs boolean MySQL - Performance

我有一个日期时间的列converted_at.

我打算WHERE converted_at is not null经常打电话.因此,我正在考虑使用布尔字段converted.在检查字段是否为not nullvs时,它们之间是否存在显着的性能差异false

谢谢.

mysql performance

11
推荐指数
1
解决办法
1830
查看次数

错误不会阻止对象保存?

我有一个虚拟属性,它从表单字段中获取时间范围并将其拆分:

def time_range=(time_range)
  unless time_range.empty?
    t = time_range.split(/to|\-/)
    self.start_entry = t[0]
    self.finish_entry = t[1]
    if Chronic.parse(self.start_entry).nil? || Chronic.parse(self.finish_entry).nil?
      errors.add(:time_range, 'Invalid time range entered')
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

start_entry并且finish_entry也是虚拟属性,因为我有其他方法来设置它们.无论两者是如何设置的,我都有以下钩子来设置startfinish在我的数据库中:

before_save :set_start_and_finish

尽管我添加了一个错误,但错误的对象仍然设法保存:

> t = Tour.new
> t.time_range = "rubbish"
> t.errors
#=> {:time_range=>["Invalid time range entered"]}
> t.valid?
#=> true
Run Code Online (Sandbox Code Playgroud)

如何使实例无效以防止以后保存?

ruby ruby-on-rails

3
推荐指数
1
解决办法
2163
查看次数

标签 统计

mysql ×1

performance ×1

ruby ×1

ruby-on-rails ×1