如果你重视时间,请跳过它。
我正在建立一个拥有特殊控制面板的网站"少数(不到20人)。这是一个日历,在那里你可以看到哪些日子还没有被占用,预订"活动"如果需要的话。 Panel使用php和mysql数据库来保存用户名,事件等。它已经完成了,但我注意到我需要检查完全相同的数据是否已经存储在数据库中(它不会导致问题,但最好避免冗余。)
我想出的第一个解决方案是添加一个查询(检查当时是否有约会)到每个添加的行(它们是在循环中添加)并且仅在检查查询返回0行时才执行INSERT。 / p>
你真的可以忽略任何高于此的东西,我补充说明只是为了澄清情况。
我的问题是:如果在循环中运行许多小查询,对服务器是否真的很糟糕,或者这并不重要因为查询对服务器来说并不难?也许这真的很重要,例如我应该运行一个更大的查询并将其保存到数组中?
它可能无关紧要,但我使用的是there
的面向对象设置我主要是要求扩展我的知识,因为这个实用程序无论如何都只能由一个人使用,所以即使效率不高,服务器也会跟上。
答案 0 :(得分:0)
评论太长了。
这是一个非常糟糕的主意吗?取决于你对坏的定义。通常,多个这样的查询更昂贵。多个查询为竞争条件带来了更多机会。对我来说听起来不是一个“好”的主意。
更重要的是,正在检查应用程序中的重复项。您有一个数据库,可以使用该数据库来防止重复。这称为“唯一”约束或唯一索引(前者使用后者实现)。你的问题没有足够的信息来提出具体的建议,但这听起来像你真正需要的。