在编码时,我使用默认的连接配置:
//CONNECTION INFORMATION
DEFINE('DATABASE_USER', 'root');
DEFINE('DATABASE_PASSWORD', '*********');
DEFINE('DATABASE_HOST', 'localhost');
DEFINE('DATABASE_NAME', 'mydatabase');
// Override The Default Php.ini settings for sending mail
date_default_timezone_set("America/Indianapolis");
//CONNECTING
$con = mysqli_connect(DATABASE_HOST, DATABASE_USER, DATABASE_PASSWORD,DATABASE_NAME);
if (!$con) {
trigger_error('Could not connect to MySQL: ' . mysqli_connect_error());
}
但这是正常连接网站,如果我有一个非常繁忙的交通网站如Facebook或其他网站使用MySQL数据库端,你有用户,评论,每秒更改数据。是完全相同的方式还是有更好的方法来避免
MAX_USE_CONNECTIONS
警告除此之外,网站运行缓慢,但在第一次使用是正常的,但后来日复一日地变慢,直到重新启动服务器。
我尝试了其他解决方案,因为每天使用不同的数据库,但我不认为这是一个解决方案,因为我希望将所有数据保存在一个数据库中进行搜索。
为了计算我使用查询:
mysqli_query($con, "SELECT * FROM `TABLE` WHERE `id` = '$user_id'");
为了选择和获取我使用的数据:
$table = mysqli_query($con, "SELECT * FROM `TABLE` WHERE `id` = '$user_id'");
if(mysqli_num_rows($table) !== 0)
{
while($rows = mysqli_fetch_array($table))
{
$id = $rows['id'];
......
}
}
对于实时更新我有每一次新的更改,我使用ajax获取数据。 每个ajax调用都会打开新连接吗?在获取数据后我是否必须关闭每个连接?为什么?
答案 0 :(得分:1)
以同样的方式
是
每个ajax调用都会打开新连接吗?
是
获取数据后是否必须关闭每个连接?为什么?
没有。 PHP将为您关闭它。
感谢您的时间和信息让我更有知识,以避免编码时错误的方式:)
你的所有编码都是错误的,并且会有几年的时间。只需了解并及时,您就可以创建一个可以维持Facebook 1/1000000流量的网站。
然而,将这些年来的重度学习放在常规答案的几个段落中是不可能的。希望你明白。
答案 1 :(得分:0)
对代码进行基准测试的一种简单方法就是定时...
$time = microtime(true);
//- code to time
echo number_format( (microtime(true) - $time), 4 );
这将为您提供它们之间代码的微秒时间,以秒为单位的4位小数。查看代码需要很长时间运行的位置,并了解如何改进代码,例如优化查询等。