From caa5736145f34315f81efc70fd01997fb59ce154 Mon Sep 17 00:00:00 2001 From: donncha Date: Mon, 21 Jul 2008 16:17:09 +0000 Subject: SQL optimizations, fixes #642, thanks momo360modena git-svn-id: http://svn.automattic.com/wordpress-mu/trunk@1389 7be80a69-a1ef-0310-a953-fb0f7c49ff36 --- wp-admin/wpmu-blogs.php | 21 ++++++--------------- wp-admin/wpmu-users.php | 5 ++--- 2 files changed, 8 insertions(+), 18 deletions(-) diff --git a/wp-admin/wpmu-blogs.php b/wp-admin/wpmu-blogs.php index 47d7da3..a596df5 100644 --- a/wp-admin/wpmu-blogs.php +++ b/wp-admin/wpmu-blogs.php @@ -294,23 +294,16 @@ switch( $_GET['action'] ) { $query = "SELECT * FROM {$wpdb->blogs} WHERE site_id = '{$wpdb->siteid}' "; if( isset($_GET['blog_name']) ) { - $query = "SELECT blog_id, {$wpdb->blogs}.domain, {$wpdb->blogs}.path, registered, last_updated - FROM {$wpdb->blogs}, {$wpdb->site} - WHERE site_id = '{$wpdb->siteid}' - AND {$wpdb->blogs}.site_id = {$wpdb->site}.id - AND ( {$wpdb->blogs}.domain LIKE '%{$s}%' OR {$wpdb->blogs}.path LIKE '%{$s}%' )"; + $query .= " AND ( {$wpdb->blogs}.domain LIKE '%{$s}%' OR {$wpdb->blogs}.path LIKE '%{$s}%' ) "; } elseif( isset($_GET['blog_id']) ) { - $query = "SELECT * - FROM {$wpdb->blogs} - WHERE site_id = '{$wpdb->siteid}' - AND blog_id = '".intval($_GET['s'])."'"; + $query .= " AND blog_id = '".intval($_GET['s'])."' "; } elseif( isset($_GET['blog_ip']) ) { $query = "SELECT * FROM {$wpdb->blogs}, {$wpdb->registration_log} WHERE site_id = '{$wpdb->siteid}' AND {$wpdb->blogs}.blog_id = {$wpdb->registration_log}.blog_id AND {$wpdb->registration_log}.IP LIKE ('%{$s}%')"; - } + } if( isset( $_GET['sortby'] ) == false ) { $_GET['sortby'] = 'id'; @@ -328,15 +321,13 @@ switch( $_GET['action'] ) { $query .= ( $_GET['order'] == 'DESC' ) ? 'DESC' : 'ASC'; - if( !empty($_GET['s']) ) { - $blog_list = $wpdb->get_results( $query, ARRAY_A ); - $total = count($blog_list); + if( !empty($s) ) { + $total = $wpdb->get_var( str_replace('SELECT *', 'SELECT COUNT(blog_id)', $query) ); } else { - $total = $wpdb->get_var( "SELECT COUNT(*) FROM {$wpdb->blogs} WHERE site_id = '{$wpdb->siteid}' "); + $total = $wpdb->get_var( "SELECT COUNT(blog_id) FROM {$wpdb->blogs} WHERE site_id = '{$wpdb->siteid}' "); } $query .= " LIMIT " . intval( ( $apage - 1 ) * $num) . ", " . intval( $num ); - $blog_list = $wpdb->get_results( $query, ARRAY_A ); // Pagination diff --git a/wp-admin/wpmu-users.php b/wp-admin/wpmu-users.php index 47238b9..b2ef439 100644 --- a/wp-admin/wpmu-users.php +++ b/wp-admin/wpmu-users.php @@ -68,10 +68,9 @@ if ( $_GET['updated'] == 'true' ) { $query .= ( $_GET['order'] == 'DESC' ) ? 'DESC' : 'ASC'; if( !empty( $s )) { - $user_list = $wpdb->get_results( $query, ARRAY_A ); - $total = count($user_list); + $total = $wpdb->get_var( str_replace('SELECT *', 'SELECT COUNT(ID)', $query) ); } else { - $total = $wpdb->get_var( "SELECT COUNT(*) FROM {$wpdb->users}"); + $total = $wpdb->get_var( "SELECT COUNT(ID) FROM {$wpdb->users}"); } $query .= " LIMIT " . intval( ( $apage - 1 ) * $num) . ", " . intval( $num ); -- cgit