我应该限制连接到数据库的数量吗?

时间:2011-11-14 16:14:44

标签: php mysql database cakephp

我正在开发一个CakePHP应用程序,我正在为其中一个模型编写一些验证规则。

我有一种感觉,我现在对数据库进行了太多的检查,并希望对此有所了解。

例如,我正在保存到具有大量相关模型的模型,因此我每个保存操作会保存5个不同的外部ID。为了确保所有id都正确,我有一个验证规则,每个验证规则检查实际上ID确实存在于数据库中的正确表中。

还有一些其他的验证规则,但是没有详细说明我认为我在一次保存操作中大约10次访问数据库,以确保所有数据都有效。

我应该采用任何限制,或者开销是否相当小?

由于

3 个答案:

答案 0 :(得分:0)

如果您建立的连接有充分的理由(并且验证在那里非常高),那么可以根据需要进行连接。但是,是否不可能将这些验证放在一起?你在使用存储过程吗?如果这样做,则可以将一批验证放在一个存储过程中。它几乎就像说你可以一次运行尽可能多的验证规则,然后期望多个结果集(如果需要) - 这在某些方面会比在一个验证失败时简单地返回false更好当然,这取决于这些验证的依赖性)

缩短我的帖子..是否可以将这些验证查询放在一个存储过程中?

答案 1 :(得分:0)

检查您的数据库是否设计得当。由于信息有限,您很难判断是否真的需要通过所有表格。但通常你不需要这样做。

同样不必要地访问数据库并不是一个好主意。这一切都取决于您的应用程序。如果你真的不需要一个非常高性能的应用程序,你可能没问题。读取的开销不会像数据库执行某些内存缓存那样糟糕。写作总是会更贵。特别是如果你有外键约束。因为db将检查写入是否有效。

最好的方法是编写一个测试,尝试通过逻辑和时间在数据库中写入“x”记录。如果它真的是一个问题,这将给你一个指示。

答案 2 :(得分:0)

过早优化是万恶之源。

推出您的应用。一旦真人将其用于实际目的,您就可以做基准测试,看看您真正需要优化的位置。