summaryrefslogtreecommitdiff
path: root/includes/database/pgsql
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2010-06-16 04:56:07 +0000
committerDries Buytaert <dries@buytaert.net>2010-06-16 04:56:07 +0000
commitf7bcc0fbab292641d376db4f481c1d310c0e7d28 (patch)
treef1db0be005310a67b5bcd74fc807ae7d031c99fd /includes/database/pgsql
parenta3b28597bbae14920b7eef9090279e9cf20a040e (diff)
downloadbrdo-f7bcc0fbab292641d376db4f481c1d310c0e7d28.tar.gz
brdo-f7bcc0fbab292641d376db4f481c1d310c0e7d28.tar.bz2
- Patch #827554 by Josh Waihi: PostgreSQL performance optimization: PDO::ATTR_EMULATE_PREPARES.
Diffstat (limited to 'includes/database/pgsql')
-rw-r--r--includes/database/pgsql/database.inc7
1 files changed, 7 insertions, 0 deletions
diff --git a/includes/database/pgsql/database.inc b/includes/database/pgsql/database.inc
index 2aff55b87..74b9afcc9 100644
--- a/includes/database/pgsql/database.inc
+++ b/includes/database/pgsql/database.inc
@@ -40,6 +40,13 @@ class DatabaseConnection_pgsql extends DatabaseConnection {
$dsn = 'pgsql:host=' . $connection_options['host'] . ' dbname=' . $connection_options['database'] . ' port=' . $connection_options['port'];
parent::__construct($dsn, $connection_options['username'], $connection_options['password'], array(
+ // Prepared statements are most effective for performance when queries
+ // are recycled (used several times). However, if they are not re-used,
+ // prepared statements become ineffecient. Since most of Drupal's
+ // prepared queries are not re-used, it should be faster to emulate
+ // the preparation than to actually ready statements for re-use. If in
+ // doubt, reset to FALSE and measure performance.
+ PDO::ATTR_EMULATE_PREPARES => TRUE,
// Convert numeric values to strings when fetching.
PDO::ATTR_STRINGIFY_FETCHES => TRUE,
// Force column names to lower case.