对于cakephp专家,我有一个复杂的问题。
基本上,我创建了一个名为“locations”的数据库表。每个月我都会从客户端以csv格式将此表发送给我。不幸的是,我不得不更新这个表,而是要清空它并重新导入所有记录。不幸的是,我根本无法改变这张桌子。
功能方面,用户可以查看这些记录的显示,并能够选择隐藏某些记录。这个“隐藏”属性必须是持久的,并且能够在每个月清除所有记录后继续存在。
我昨天完成了所有这些工作。我所做的是,创建一个名为location_properties的独立表(列分别为:id(int),location_id(外键),is_hidden(boolean))。显示这些记录时,只需检查“is_hidden == true”。
这一切都很好(和工作!),但后来我的老板搞砸了作品。他告诉我从表中删除“is_hidden”列,因为它会更有效率。我应该能够简单地检查是否存在location_id来隐藏或显示它。
看起来并不那么简单。任何人都知道如何解决这个问题?我已经尝试了所有我能想到的东西。
答案 0 :(得分:0)
你的老板错了。
添加列的效率高于每月删除和重新导入位置的效率。
他是说效率较低,还是你做了一个实际的基准测试,看它是否会对性能造成太大影响?
答案 1 :(得分:0)
乍一看,我看到了两个解决方案:
1)添加一个条件数组('Location.id'=>'NOT NULL')
2)将联接类型更改为右联接
我希望这会有所帮助