性能:循环包括 AJAX 与带有 php 循环的单个请求


Performance: Loop incl. AJAX vs. a single request with php loop

我写了一个PHP,它目前正在循环访问数据,验证并将它们导入数据库。这可能需要一些时间,具体取决于要运行的数据量。

我的下一步是使它"用户友好",以便其他人可以使用它,而不仅仅是我。我正在查看我想要实现的组件,包括进度条,以便用户知道脚本不仅卡住了,而且正在做一些事情。

现在问题来了:我是否应该使用JavaScript循环来遍历数据,让它们一个接一个地验证,并在对我的php脚本的AJAX调用的帮助下导入数据库?这对于在每次迭代后更新进度条也非常有用。

还是在性能方面,对 php 脚本执行单个请求,然后循环访问数据?在这种情况下:如何实现更新进度条?

这些是一堆问题。总体目的是看看我的选择是什么,以及每个选项的论据是什么。提前感谢!

好吧,如果你想要一个进度条,那么你需要一个接一个地做,你会计算所有的记录,然后当一个回调完成时,你会将进度条增加一定的百分比。

100 / amount of records = percentage to increase progress bar. 
但是,这种方法的问题在于,如果它失败

了,您将需要知道它在哪里失败,或者设计一种方法来确保不会将重复项添加到数据库中(如果这甚至是一个问题)。

最好一次添加数据,更快,更干净,但它会消除进度条实际上为您提供正确进度报告的可能性。