在PHP中使用OOP和数据库时,我有一个关于性能的问题。我会通过例子来问我的问题,假设一个类foo代表某个表中的一行。现在假设我需要在我的web应用程序的5个不同页面上使用foo。PHP,面向对象和数据库 - 性能问题
美中不足的是,在每个5页的,我将使用来自不同列中的数据。 (即第一页将使用第一列和第二列,而第二页使用第三列和第四列等)。
OOP方法(据我所见)会建议当我在某些特定行上初始化foo时我会连接并获取该行的所有列并构建我的对象。然后,我可以继续我的逻辑并使用我可能需要的任何数据。
我遇到的问题是,使用过程方法(我更习惯于涉及网络)不会浪费资源来下载我不需要的列,因为查询将专门为(即如果我在第一页我只下载column1和column2,因为这就是我所需要的)。
我在谈论OOP方法错误还是额外的开销太微不足道,开发人员一般他们不需要的下载数据?
感谢和抱歉,如果这已经被覆盖,我认为这将是一个有趣的话题! :)
埃里克
进一步澄清:
类是这样的:
class foo
{
$column1;
$column2;
$column3;
$column4;
public function _construct($id)
{
//get column 1,2,3 and 4 from database where table_id = $id
}
}
的问题是,如果我只需要一个COLUMN1一页我下载column2,3和4没有。在程序上你不会那样做。我的OOP模型是坏的还是这可以吗?
你会把你的示例代码吗?不清楚你想要达到什么!? –
如果你使用的是数据库,你的查询只能返回你需要的行,没有别的。 – Ibu