2016-10-05 3 views
0
select 
       "pct_customers_count"=isnull((select count(customer_code) from CRM..pct_customers where status <> "R" and add_branch=t3.c_branchcode),0) 
       ,"pct_arch_customers_count"=isnull((select count(customer_code) from CRM..pct_customers_arch where status <> "R" and add_branch=t3.c_branchcode) ,0) 
       ,"crms_customers_count"= isnull((select count(customer_code) from CRMS..crms_customer_master where status <> "R" and add_branch=t3.c_branchcode) ,0) 
       ,"crms_customers_daily_count"=isnull((select count(customer_code) from CRMS..crms_custdaily_master where status <> "R" and add_branch=t3.c_branchcode),0) 
      from 
       ums..admin_regions t1 
       ,ums..admin_branches t2 
       ,ums..branch_master t3 
      where 
       t1.reg_code ='ZZZZ' 
       and t2.reg_grandpa = t1.reg_code 
       and t3.c_branchcode = t2.branch_code 

Ниже я даю общее число строк, размер таблиц, которые я использовалВозьмите количество клиентов всех клиентов, характерных для региона и

  • pct_customers: 720227
  • pct_customers_arch: 341500
  • crms_customer_master: 999005
  • crms_custdaily_master: 929022

Последние три таблицы получают код ветвления и присваивают его pct_customers_table, pct_customers_arch, crms_customer_master и crms_custdaily_master, которые учитывают количество клиентов.

Проблема

Этот запрос занимает большую нагрузку на нашей server.How базы данных можно оптимизировать этот запрос так, что она занимает меньше минуты, чтобы обыскать database.I пытался упростить запрос по присоединяется, но не повезло.

Решения, которое я нашел

CRONing графа в таблицу и с помощью новой таблицы я его отображения новых page.I знает, что это хорошее решение, но он чувствует, что это не прямой solution.So если вы, ребята, знаете какое-либо другое решение моей проблемы, пожалуйста, поделитесь.

+0

Добро пожаловать в переполнение стека! Этот вопрос не обсуждается, поскольку речь идет не о проблеме программирования. Вы должны рассмотреть возможность публикации в [Обзор кода] (http://codereview.stackexchange.com/). –

ответ

0

Вам необходимо создать один индекс для таблицы; столбцы, подлежащие индексированию, - это статус и add_branch.

 Смежные вопросы

  • Нет связанных вопросов^_^