欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

views 查询太慢 explain 分析 sql 语句 有大用 有大大用 有大大大用 有大大大大用


通过 explain 分析 把 distinct 设为 true 把 里面的 所有的inner join 改成 left join 速度更快

function shipingzhongcustom_views_query_alter(&$view, &$query)
          if ($view->name == 'allcontentview' && $view->current_display=='page_3') {

         $query->set_distinct(true);
         $users_join = $query->table_queue['users']['join'];
         $users_join->type = 'LEFT';
//       $export = kprint_r($users_join, TRUE); // $vars - is a variable which you want to print.
//       print $export;
         $query->table_queue['users']['join'] = $users_join;
         $node_data_field_chat_status_join = $query->table_queue['node_data_field_chat_status']['join'];
         $node_data_field_chat_status_join->type = 'LEFT';
         $query->table_queue['node_data_field_chat_status']['join'] = $node_data_field_chat_status_join;

        }

}
普通分类: