簡體   English   中英

為什么我們必須在查詢命令后關閉MySQL數據庫?

[英]Why do we have to close the MySQL database after a query command?

我是首發。

我想知道如果我們不關閉MySQL連接會發生什么。

1-如果我們不關閉它們,是否可以打開多個數據庫? 我的意思是我們可以同時打開多個數據庫嗎?

2-關閉數據庫是否會提高速度?

3-是否需要關閉數據庫或它是可選的?

看看這段代碼。 我不使用“mysql_close()”所以我不會在每次請求后關閉數據庫。 這個PHP頁面有很多請求。 也許每分鍾50000。 我想知道關閉數據庫是否需要此代碼或沒有?

<?php   
//Include the file that lets us to connect to the database.
include("database/connection.php");

//Call "connect" function to connect to the database.
connect("database", "localhost", "root", "", "user");

//The GPRS module send a string to this site by GET method. The GPRS user a variable named variable to send the string with.
$received_string = $_GET["variable"];

//Seprates data in an array.
$array_GPRS_data = explode(",", $received_string);

//we need to remove the first letter.
$array_GPRS_data[9] = substr($array_GPRS_data[9], 1);


$array_GPRS_data[13] = substr($array_GPRS_data[13], 4, 2).substr($array_GPRS_data[13], 2, 2).substr($array_GPRS_data[13], 0, 2);

//Query statement.
$query = "INSERT INTO $array_GPRS_data[17](signal_quality, balance, satellite_derived_time, satellite_fix_status, latitude_decimal_degrees,
latitude_hemisphere, longitude_decimal_degrees, longitude_hemisphere, speed, bearing, UTCdate, theChecksum)
VALUES('$array_GPRS_data[0]', '$array_GPRS_data[1]', '$array_GPRS_data[5]', '$array_GPRS_data[6]', '$array_GPRS_data[7]',
'$array_GPRS_data[8]', '$array_GPRS_data[9]', '$array_GPRS_data[10]', '$array_GPRS_data[11]', '$array_GPRS_data[12]', '$array_GPRS_data[13]',
'$array_GPRS_data[16]')";

//Run query.
$result = mysqli_query($query);

//Check if data are inserted in the database correctly.
if($result)
{
    echo("*#01");
}
else
{
    echo("Error: 001");
    echo (mysqli_error());
}   
?>
  1. 是的,您可以擁有多個數據庫連接。 您沒有打開數據庫,而是打開數據庫連接。 一般來說,無論您是否連接數據庫,數據庫都是“開放”(即運行)。
  2. 取決於...如果您在頁面上只有一個打開的連接,那么您不需要關閉它,因為它將在PHP完成時自動關閉。 如果您有很多,那么您可能會使數據庫服務器變慢,或者使數據庫服務器耗盡可用連接(它只能同時打開一定數量的連接)。 也就是說,大多數現代數據庫服務器可以處理數百個並發連接。
  3. 可選,但建議。 這對於中小型項目來說並不是什么大問題(即如果你在任何特定時間你的並發訪問者少於100人,你可能不會有任何問題)。 由於您每分鍾有數千個訪問者,因此您應該在完成后立即主動關閉數據庫連接,以便盡快釋放它。

連接到數據庫后,無需關閉。 由於非持久連接在腳本執行結束時自動關閉。

請按照此處獲取更多信息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM