Вы не авторизованы

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

RSS
[ Закрыто ] История звонков и скорость выполнения
 
Вчера неожидано перестала показываться история звонков.
Стал пробовать. Лучше открыть файл во вложении, чтобы вместе с текстом идти и по результатам вывода
История за 24.05.2014 показывается: всего 2 записи. Всё ок.
История за 23.05.2014 не выводится. Видимо стоит какое-то ограничение по времени.
Нагрузка на на процессор 100% процессом mysqld.
Посмотрел какой запрос выполняется. Пробую выполнить его же на phpmyadmin. Результат:  запрос занял 164.4764 сек. Почти 3 минуты!
Сейчас попробую переписать запрос, упростив его. Есть ли какие-то ещё пути решения данного вопроса?
 
Есть пример более оптимального запроса:
https://github.com/boffart/Askozia_PHP_AGI_Apps/blob/master/1С_CDR.php

Но этот пример для sqlite3. Рекомендую его взять за основу.
 
Интересно. Спасибо. Изучу. Переделал запрос. Не ссылаюсь теперь на cel.
Нужно сказать, что таблица cel растёт как на дрожжах. Интересно: в Askozia с этим как-то борются?
Изменено: kornachev - 24.05.2014 19:37:53
 
Временно оставил такой. Пока не изучу как оптимизировать.


Код
SELECT
  `PT1C_cdr`.`calldate`,
  `PT1C_cdr`.`src`,
  `PT1C_cdr`.`dst`,
  `PT1C_cdr`.`channel`,
  `PT1C_cdr`.`dstchannel`,
  `PT1C_cdr`.`billsec`,
  `PT1C_cdr`.`disposition`,
  `PT1C_cdr`.`uniqueid`,
  `PT1C_cdr`.`recordingfile`
FROM `$db_name`.`PT1C_cdr`
WHERE `PT1C_cdr`.`calldate` BETWEEN '$date1' AND '$date2' 
  AND (`channel` like '%/$num-%'
  OR `dstchannel` like '%/$num-%' 
  OR `dstchannel` like '%/$num@%'
  OR `src`='$num'
  OR `dst`='$num')
 
Поторопился. Неправильно запрос написал.
 
Вы, кстати, не думали в форму истории добавить что-нибудь вроде прогресс-бара? Не всегда понятно: отработался скрипт или нет. А пользователи не всегда понимают: стоит ещё подождать или уже ничего не будет.
 
Просто скорее всего для CEL включен самый полный лог

Код
[general]
enable=yes
apps=all
events=ALL

В Askozia
events=BRIDGE_START
 
Действительно. Спасибо. Перенастроил и удалил лишние записи.
Читают тему (гостей: 1)