草庐IT

ActiveRecord

全部标签

ruby-on-rails - rails : adding additional methods to a model for cache retrieval

在Rails中向模型添加缓存时,会出现如下所示的重复性:classTeam"TheAwesomeTeam")team.saveteam.name#"TheAwesomeTeam"通过使用memcached或redis引入缓存,我发现自己向我的模型添加了方法,而且它是super重复的:defget_nameifname_is_in_cachereturncached_nameelsenameendenddefset_name(name)#setnameincacheself.name=nameend我是否缺少一些明显的方法来清理它?我以不同的方式缓存了很多字段,看起来attr_acces

sql - 多字符串匹配性能

我有一个包含超过100,000条记录的艺术家表,我使用这些记录来匹配用户提交的艺术家数组(介于1到数千之间)。我当前的查询如下所示:SELECTidfromartistsWHERElower(name)IN(downcase_artists)这样做很好,但我想知道是否可以做得更快。当匹配数千位艺术家时,查询时间从几百毫秒到有时整整10秒不等。名称列已编入索引。(这对字符串列有影响吗?)我在想也许像Redis这样的东西可以加快速度?通过保留艺术家姓名及其相应ID的键值存储?我是否缺少任何其他可以加快速度的选项?编辑:正如James所建议的,我尝试实现某种all_artists缓存方法(使

sql - 多字符串匹配性能

我有一个包含超过100,000条记录的艺术家表,我使用这些记录来匹配用户提交的艺术家数组(介于1到数千之间)。我当前的查询如下所示:SELECTidfromartistsWHERElower(name)IN(downcase_artists)这样做很好,但我想知道是否可以做得更快。当匹配数千位艺术家时,查询时间从几百毫秒到有时整整10秒不等。名称列已编入索引。(这对字符串列有影响吗?)我在想也许像Redis这样的东西可以加快速度?通过保留艺术家姓名及其相应ID的键值存储?我是否缺少任何其他可以加快速度的选项?编辑:正如James所建议的,我尝试实现某种all_artists缓存方法(使

php - Yii 仅选择数组中指定的属性

我经常遇到这个问题..比方说..在博客应用程序中,我需要给所有活跃用户发邮件..我所做的是在用户上次登录的某些条件大于某个值的情况下编写findAll..并获取所有用户对象...然后通过所有用户模型对象运行foreach并将电子邮件存储在数组中,然后使用数组..换句话说,后端正在加载整个模型,而我只需要该信息的0.5%,然后运行脏代码以获取数组中的值,然后用它处理..性能和脏代码是不是很糟糕..现在我能想到的其他方法是使用commandBuilder并编写查询,然后运行相同的脏代码以获取数组中的值..一个性能问题已解决..但正如人们所说的那样写sqlmvc框架,不是一个好主意..我真正

php - Yii 仅选择数组中指定的属性

我经常遇到这个问题..比方说..在博客应用程序中,我需要给所有活跃用户发邮件..我所做的是在用户上次登录的某些条件大于某个值的情况下编写findAll..并获取所有用户对象...然后通过所有用户模型对象运行foreach并将电子邮件存储在数组中,然后使用数组..换句话说,后端正在加载整个模型,而我只需要该信息的0.5%,然后运行脏代码以获取数组中的值,然后用它处理..性能和脏代码是不是很糟糕..现在我能想到的其他方法是使用commandBuilder并编写查询,然后运行相同的脏代码以获取数组中的值..一个性能问题已解决..但正如人们所说的那样写sqlmvc框架,不是一个好主意..我真正

php - Yii 间接修改重载属性

$winnerBid=Bids::model()->find($criteria);模型有下一个关系:publicfunctionrelations(){returnarray('item'=>array(self::BELONGS_TO,'Goods','item_id'),'room'=>array(self::BELONGS_TO,'Rooms','room_id'),'seller'=>array(self::BELONGS_TO,'RoomPlayers','seller_id'),'buyer'=>array(self::BELONGS_TO,'RoomPlayers','

php - Yii 间接修改重载属性

$winnerBid=Bids::model()->find($criteria);模型有下一个关系:publicfunctionrelations(){returnarray('item'=>array(self::BELONGS_TO,'Goods','item_id'),'room'=>array(self::BELONGS_TO,'Rooms','room_id'),'seller'=>array(self::BELONGS_TO,'RoomPlayers','seller_id'),'buyer'=>array(self::BELONGS_TO,'RoomPlayers','

php - JOIN 语句中的 CodeIgniter ActiveRecord 字段名称

我正在构建一个涉及JOIN的查询。这是我第一次使用ActiveRecord完成数据库工作,但遇到了一些障碍。我想将一个名为companies的表加入到users表中,这样我就可以获得用户所在的公司名称等。我已经完成了这种排序像这样成功:functionget_profile_by_username($username){$this->db->join('companies',$this->table_name.'.company_id=companies.id');$this->db->where('LOWER(username)=',strtolower($username));$q

php - JOIN 语句中的 CodeIgniter ActiveRecord 字段名称

我正在构建一个涉及JOIN的查询。这是我第一次使用ActiveRecord完成数据库工作,但遇到了一些障碍。我想将一个名为companies的表加入到users表中,这样我就可以获得用户所在的公司名称等。我已经完成了这种排序像这样成功:functionget_profile_by_username($username){$this->db->join('companies',$this->table_name.'.company_id=companies.id');$this->db->where('LOWER(username)=',strtolower($username));$q

php - Codeigniter 事件记录 : greater than statement

我正在尝试将“大于”where语句转换为CI的ActiveRecord语法。当我使用这个片段时$this->db->join('product_stocks',"product_stocks.size_id_fk=product_attributes.id","left");$this->db->where('product_stocks.stock_level','>1');$result=$this->db->get('product_attributes')->result_array();然后打印$this->db->last_query();显示WHEREproduct_st