【发布时间】:2013-06-17 20:03:19
【问题描述】:
这本身并不是一个真正的问题,而是一个关于效率的问题。
基本上,我有一个 index.php 文件来处理我正在构建的网站的主要代码。该代码中有几个 JavaScript/JQuery 函数,它们使用 $.ajax() 来处理使用其他 php 文件的数据。
我使用了两个与 MySQL 数据库交互的函数(注意这些不是完全实现的函数)。
用于更新数据库的一个:
function updateDB(text) {
$.ajax({
url: "update_db.php",
type: "POST",
data: {text:text},
});
}
还有一个用于从数据库中获取信息:
function displayText() {
$.ajax({
url: "display_text.php",
type: "POST",
data: {},
});
}
在两个文件(“update_db.php”和“display_text.php”)的顶部,我包含了一个使用 PDO 连接到数据库的 .php 文件:
<?php require_once('connect_to_db.php'); ?>
但是,这似乎效率低下,因为当我运行我的 index.php 文件时,数据库被访问了两次,一次用于更新数据库,一次用于显示数据库的内容。
我的问题是:两次连接数据库有什么缺点吗?我的假设是,这会使数据库操作陷入困境并更慢地执行函数。
如果有缺点,有没有办法只连接一次数据库,即使主 index.php 调用两个不同的文件,每个文件都必须连接到数据库?
我的主要兴趣是学习如何编写更高效的代码,以及就如何使文件处理等事情更高效获得意见。欢迎提出任何建议!
【问题讨论】:
-
如果您发出两个单独的请求,则必须连接两次。如果您将这两个请求合并为一个,则只需连接一次。只要请求不是很重,在页面的生命周期内向服务器执行多个 ajax 请求并不少见。显然,只做一个更有效,但是像你现在拥有的那样将它分成两部分可能更易于维护。我建议使用更易于维护的方法,除非性能成为问题。
-
还可以看看模型视图控制器MVC等设计模式。模式将帮助您编写更高效的代码。
-
感谢您的建议!我对 MVC 模式有点熟悉,但没有大量使用它。
标签: php jquery ajax performance pdo