我可能是一个琐碎的问题,但我敢问,请帮助我回答这个问题。
我一直在开发PHP Mysql应用程序。之前,我曾经使用以下原则:
通过Java脚本验证HTML表单
通过检查每个输入来在PHP中进行错误验证
如果成功,请通过单个MySQL查询更新数据库
现在,我正在遵循以下另一种方法:
没有Java脚本验证,但在需要输入的形式中使用required
属性
错误验证PHP中的每个输入元素并同时更新数据库
因此,在第二种方法中,我使用的是为每行更新进行多个MySQL查询(大约30个查询)。
我知道,这可能不会导致最佳性能,但是,
它将代码行数减少了至少3(如果不更多)。
开发,调试和协作要容易得多
开发时间要少得多(据我自己估计,是5倍)
我希望您对第二种方法有什么想法,我目前正在应用程序中使用它。
最佳答案
我认为这里的混乱是2分,
代码开发工作和可读性
性能
通常,代码开发和可读性优先于性能。这种方法通常适用于小规模应用。由于小规模应用程序将不会遇到严重的性能问题。
但是,当应用程序大小增加时,1个查询与30个查询将显示出差异。想象一下,如果有100-1000个用户使用您的应用程序,并且使用第一种方法,您将触发100-1000个查询,但是使用第二种方法,您将在数据库上触发3000-30000个查询。
这会降低整个应用程序的速度。由于没有的查询与之成正比,
连接池限制
数据库锁定时间(1个查询将锁定行一小段时间x,但30个查询将锁定行一小段时间30x)
在最坏的情况下,如果您的应用程序还有其他形式的模块也在从数据库中读取,则这些查询将遭受锁定问题。
为了获得更高的性能和可伸缩性,请减少。如果更新查询的编码开销很小,则应该优先选择它们。其他jquery模块可用于验证,这也将减少编码工作。
关于javascript - 与MySQL中的单数据库查询相比,使用多数据库查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27329050/