powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Оптимизация запроса
5 сообщений из 5, страница 1 из 1
Оптимизация запроса
    #39261834
ADMINCHIKKK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем!
Помогите пожалуйста оптимизировать запрос. Что-то не так, а что не знаю...

Имеются таблицаы:
-абонентов - TVBilling_abonents
-пользователей - TVBilling_users
-активных абонентов - TVBilling_active (тут привязка абонента с тарифом, даты и т.д.)
-оплат активного абонента по его тарифу - TVBilling_billing

Так вот, задача такая, надо, чтобы в конце каждого дня получать сумму кассы, кто оплатил, кто принял деньги, сколько оплатил и т.д. Делаю так:

авторselect * from TVBilling_billing, TVBilling_active, TVBilling_users, TVBilling_abonents
where DATE(TVBilling_billing.date)='2016-06-24'
and TVBilling_billing.user not like 'SYSTEM'
and TVBilling_billing.id_var=TVBilling_active.id
and TVBilling_billing.user=TVBilling_users.id_2
and TVBilling_active.id_abonent=TVBilling_abonents.id_2

Думаю принцип понятен. Собираю данные с нужных мне таблиц, чтобы вывести полную интересующую мне информация. Ну так вот, делаю запрос .... и жду 2 минуты :(
...
Рейтинг: 0 / 0
Оптимизация запроса
    #39261841
ADMINCHIKKK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добавлю, абонентов в таблице порядка 1700. Но предполагается что будет больше.
...
Рейтинг: 0 / 0
Оптимизация запроса
    #39262260
ADMINCHIKKK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет идей?

В таблице TVBilling_billing хранится:

ID того, кто принял оплату из таблицы TVBilling_users
ID активного абонента из таблицы TVBilling_active,

а TVBilling_active в свою очередь хранит ID тарифа, ID абонента привязанного к этому тарифу

вот и получается чтобы получить нужную мне инфу из таблицы TVBilling_billing сначала беру и по ID смотрю кто принял оплату из TVBilling_users потому беру ID активного пользователя и смотрю кто этот пользователь из таблицы TVBilling_active. Но в этой таблицы видно только ID абонента, и привязка его к тарифу, поэтому надо из TVBilling_abonents получить по ID ещё имя, фамилию, адрес.
...
Рейтинг: 0 / 0
Оптимизация запроса
    #39262261
ADMINCHIKKK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну жду не 2 минуты, но где-то в среднем 70-80 секунд ответа...
...
Рейтинг: 0 / 0
Оптимизация запроса
    #39262451
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сделайте
EXPLAIN SELECT....
и смотрите какие индексы используются, какие добавить
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Оптимизация запроса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]