Оптимизация запросов для модуля учета perfex crm при работе с большим количеством данныхPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Оптимизация запросов для модуля учета perfex crm при работе с большим количеством данных

Сообщение Anonymous »

Может ли кто-нибудь помочь мне оптимизировать следующие две функции, отвечающие за загрузку данных в диаграммы информационной панели? В настоящее время их выполнение занимает около пяти минут из-за растущего набора данных, насчитывающего более 150 000 строк. Ваша помощь будет принята с благодарностью. Большое спасибо.

Код: Выделить всё

$where_payment = $this->get_where_report_period(db_prefix() . 'invoicepaymentrecords.date');
$this->db->select_sum('amount');
if($where_payment != ''){
$this->db->where($where_payment);
}
$this->db->where('((select count(*) from ' . db_prefix() . 'acc_account_history where ' . db_prefix() . 'acc_account_history.rel_id = ' . db_prefix() . 'invoicepaymentrecords.id and ' . db_prefix() . 'acc_account_history.rel_type = "payment") = 0) and currency = '.$data_currency);
$this->db->join(db_prefix() . 'invoices', db_prefix() . 'invoices.id=' . db_prefix() . 'invoicepaymentrecords.invoiceid', 'left');
$payment = $this->db->get(db_prefix().'invoicepaymentrecords')->row();
секунда ниже

Код: Выделить всё

$this->db->select_sum('total');
if($where != ''){
$this->db->where($where);
}
$this->db->where('((select count(*) from ' . db_prefix() . 'acc_account_history where ' . db_prefix() . 'acc_account_history.rel_id = ' . db_prefix() . 'invoices.id and ' . db_prefix() . 'acc_account_history.rel_type = "invoice") = 0) and currency = '.$data_currency);
$invoice = $this->db->get(db_prefix().'invoices')->row();
схема базы данных приведена ниже
Изображение


Подробнее здесь: https://stackoverflow.com/questions/786 ... large-numb
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Ошибка 404 при доступе к пользовательскому модулю в Perfex CRM
    Anonymous » » в форуме Php
    0 Ответы
    36 Просмотры
    Последнее сообщение Anonymous
  • Perfex CRM API — обновление клиента с помощью метода PUT не работает
    Anonymous » » в форуме Php
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Perfex CRM — Rest API — невозможно выполнить PUT или POST в Postman
    Anonymous » » в форуме Php
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Perfex CRM — Rest API — невозможно выполнить PUT или POST в Postman
    Anonymous » » в форуме Php
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Как я могу исправить Jupyter Notebook, который не печатает выходные данные при работе с большим количеством файлов?
    Гость » » в форуме Python
    0 Ответы
    37 Просмотры
    Последнее сообщение Гость

Вернуться в «Php»