在我的网站上,我在每个页面中包含一个连接文件,代码如下:
try {
$DB = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass);
}
catch(PDOException $e) {
echo $e->getMessage();
}
然后在每个页面中调用各种函数,每个函数看起来类似于:
function getAllBenchmarkQuestions($sid){
global $DB;
$quizHandle = $DB->prepare("SELECT * FROM benchmarkquestions
WHERE sid = :sid AND active = 0");
$quizHandle->bindParam(':sid', $sid);
$quizHandle->execute();
$quizHandle->setFetchMode(PDO::FETCH_ASSOC);
return $quizHandle;
}
如果我像'%onn%'那样运行show status;我明白了:
Aborted_connects 9505
Connections 1577837
Max_used_connections 52
Threads_connected 3
即使网站上没有我以外的用户,每次刷新命令时连接数似乎都会增加,大约每秒4-5次。
我遇到了很多问题,最大限度地减少了连接数,并试图弄清楚如何解决问题。有一些页面是通过ajax调用的,我包含了连接文件。通过ajax调用的页面用于根据用户交互插入数据,例如:
<?php session_start();
include('../includes/startup.php');
$questionId = $_POST['questionId'];
$answer = $_POST['answer'];
insertQuizAnswer($questionId, $userId, $answer, 1);
?>
我是否错误地设置了这个?
答案 0 :(得分:0)
理论上,您可以将连接存储在会话变量中吗?