From d4ec8b56418bf602d06a8035cd48f1de93b9f94a Mon Sep 17 00:00:00 2001 From: Cerdic <cedric@yterium.com> Date: Tue, 14 Jun 2011 11:44:11 +0000 Subject: [PATCH] =?UTF-8?q?sur=20un=20hit=20typique,=20sql=5Fserveur=20est?= =?UTF-8?q?=20appel=C3=A9=20environ=20800=20fois=20pour=20une=20dizaine=20?= =?UTF-8?q?de=20fonctions=20diff=C3=A9rentes.=20=C3=87a=20vaut=20le=20coup?= =?UTF-8?q?=20de=20m=C3=A9moriser=20plutot=20que=20de=20relancer=20spip=5F?= =?UTF-8?q?connect=5Fsql=20et=20suivants=20=C3=A0=20chaque=20demande.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ecrire/base/abstract_sql.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ecrire/base/abstract_sql.php b/ecrire/base/abstract_sql.php index 453f2e2f50..d2b3dc42e5 100644 --- a/ecrire/base/abstract_sql.php +++ b/ecrire/base/abstract_sql.php @@ -29,7 +29,13 @@ include_spip('base/connect_sql'); // http://doc.spip.org/@sql_serveur function sql_serveur($ins_sql='', $serveur='', $continue=false) { - return spip_connect_sql(sql_ABSTRACT_VERSION, $ins_sql, $serveur, $continue); + static $sql_serveur = array(); + if (!isset($sql_serveur[$serveur][$ins_sql])){ + $f = spip_connect_sql(sql_ABSTRACT_VERSION, $ins_sql, $serveur, $continue); + if (!is_string($f) OR !$f) return $f; + $sql_serveur[$serveur][$ins_sql] = $f; + } + return $sql_serveur[$serveur][$ins_sql]; } // Demande si un charset est disponible. -- GitLab