Heim  >  Artikel  >  Datenbank  >  Über den Unterschied zwischen MySQL und MySQL

Über den Unterschied zwischen MySQL und MySQL

迷茫
迷茫Original
2017-03-26 11:48:371132Durchsuche

Mysqli-Verbindung ist eine permanente Verbindung, während MySQL eine nicht permanente Verbindung ist.

MySQL-Verbindung: Bei jeder zweiten Verwendung wird ein neuer Prozess erneut geöffnet.

MySQL-Verbindung: Verwenden Sie immer den gleichen Prozess.

Vorteile: Dadurch kann der Druck auf der Serverseite erheblich reduziert werden.

Wenn MySQL auch eine dauerhafte Verbindung benötigt, können Sie natürlich die Funktion mysql_pconnect() verwenden

Die prozessorientierte Verwendung von MySQL:

$conn = mysqli_connect(‘localhost’, ‘root’, ’123′, ‘db_test’) or (‘error’);
$sql = “select * from db_table”;
$query = mysqli_query($conn,$sql);
while($row = mysqli_fetch_array($query)){
echo $row['title'];
}

Das Objekt -orientierte Verwendung von mysqli Verwendung:

$conn = mysqli(‘localhost’, ‘root’, ’123′, ‘db_test’);
$sql = “select * from db_table”;
$query = $conn->query($sql);
while($row = $query->fetch_array()){
echo $row['title'];
}
  • mysql_connect mit mysql_pconnect mit mysqli_connect:

Die von mysql_pconnect geöffnete Verbindung wird nicht geschlossen ( (auch wenn mysql_close aufgerufen wird) Geschlossen, da es ungültig ist), ähnelt

dem Verbindungspufferpool. Wenn eine Verbindung zur gleichen Datenbank vom gleichen Benutzernamen besteht

auf Beim nächsten Mal auf derselben Maschine verwendet PHP automatisch die zuletzt hergestellte Verbindung, ohne dass eine erneut hergestellt werden muss.

Vorteile: Es erspart den Aufwand, jedes Mal eine Verbindung mit der Datenbank herzustellen

Nachteile: Es muss etwas Speicher verschwendet werden und einige Verbindungen werden belegt Benutzerbesuche Wenn es groß ist, treten Fehler auf. Sie müssen den Parameter max_connections von MySQL auf einen größeren Wert ändern oder mysql_connect() verwenden, um das Problem zu lösen.

Um es einfach auszudrücken: MySQL_pconnect wird verwendet, um eine kontinuierliche Verbindung zwischen PHP und MySQL herzustellen.

Im Allgemeinen besteht der Ausführungsmodus von PHP darin, alle Ressourcen zu initialisieren und freizugeben, wenn das Skript ausgeführt wird Alle Ressourcen nach Abschluss des Skripts.

Die MySQL_pconnect-Methode stellt nicht jedes Mal eine Beziehung zum SQL-Server über TCP und andere her viele Serverressourcen.

Wenn pconnect verwendet wird und eine Anfrage zum Herstellen einer Verbindung zu MySQL vorliegt, prüft PHP, ob dieselbe Verbindung (verbunden mit demselben MySQL-Server mit demselben Benutzernamen und Passwort) hergestellt wurde vorher,

Wenn ja, verwenden Sie diese Verbindung direkt. Es ist erwähnenswert, dass das Konzept der gleichen Verbindung für den Prozess gilt.

Verschiedene Prozesse, die eine Verbindung zu MySQL_pconnect herstellen, stellen mehrere Verbindungen her.

Connect und pconnect führen nicht zu funktionalen Unterschieden, sondern nur zu Leistungsunterschieden.

Im Allgemeinen verfügt PHP über zwei Betriebsmodi, einen für die Ausführung als CGI und einen für die Ausführung als Apache Modul.

Wenn es als CGI verwendet wird, unterscheidet sich Connect nicht von PConnect, da jedes Mal, wenn CGI ausgeführt wird, die Ressourcen zerstört und bereinigt werden.

Wenn PHP als Modul ausgeführt wird Mit dem Apache-Modul können Sie eine kontinuierliche Verbindung zur Datenbank verwenden, es kann jedoch zu Problemen kommen.

Siehe das PHP-Handbuch, wenn Sie die CGI-Installationsmethode verwenden. pconnection wird niemals wirksam.

Der größte Nachteil langer Verbindungen besteht darin, dass bei einer Sperrung eines Benutzers der aktuelle Prozess dauerhaft gesperrt wird.

Wenn Ihre Einstellung in Apache ist, dass der Prozess niemals zerstört wird, dann...

Ich habe es gesagt und so viel aufgezeichnet,

Das heißt, versuchen Sie, mysql_connect zu verwenden, da es nach Abschluss des Vorgangs automatisch unterbrochen wird, was dem Programmierstil entspricht.

  1. Sie können mysql_connect und mysql_pconnect auch zusammen verwenden, genau wie einen Link-Pufferpool.

  2. Mit anderen Worten: Erstellen Sie eine Klasse mysql_connect und mysql_pconnect .

  3. Wenn die Abwärtskompatibilität nicht berücksichtigt wird, ist es natürlich am besten, mysqli_connect zu verwenden, da mysqli selbst eine permanente Verbindung ist.

Das obige ist der detaillierte Inhalt vonÜber den Unterschied zwischen MySQL und MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn