powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Left join проблема...
25 сообщений из 39, страница 1 из 2
Left join проблема...
    #38788578
psfdek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET SQL_MAX_JOIN_SIZE=# if the SELECT is okay


На сайте подсчет отправленных смс, недавно их перевалило за 20 000 и теперь лефт джойн не работает. Как ограничить или исправить???

Код: sql
1.
SELECT count(*) FROM `{$tprefix}sms` JOIN `{$tprefix}clients` ON `{$tprefix}sms`.`client_login` = `{$tprefix}clients`.`client_login` WHERE `{$tprefix}clients`.`office_key` = '{$office_key}' {$filter_sms_q};



Выводит все смс клиентов принадлежащих к одному офису если без COUNT, а со счетчиком оно сначала показывает количество смс общее.

Подскажите пожалуйста как исправить sql запрос что бы он работал с этой большой таблицей...
...
Рейтинг: 0 / 0
Left join проблема...
    #38788960
psfdek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Up!
...
Рейтинг: 0 / 0
Left join проблема...
    #38789018
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
psfdek,

Тебе для начала нужно привести сам текст запроса, тогда о чём-то можно будет разговаривать.
...
Рейтинг: 0 / 0
Left join проблема...
    #38789085
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivнужно привести сам текст запросадополню, а то тут частенько не понимают разницы: текст именно запроса (того, что исполняется на сервере), а не текст шаблона запроса, который тут приведён.
...
Рейтинг: 0 / 0
Left join проблема...
    #38792670
psfdek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SELECT count(*) FROM `{$tprefix}sms` JOIN `{$tprefix}clients` ON `{$tprefix}sms`.`client_login` = `{$tprefix}clients`.`client_login` WHERE `{$tprefix}clients`.`office_key` = '{$office_key}';



Вот же sql запрос, переменные в нем только префик и значение ключа офиса.... Они могут быть любыми
...
Рейтинг: 0 / 0
Left join проблема...
    #38792687
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tanglirтекст именно запроса ( того, что исполняется на сервере ), а не текст шаблона запроса, который тут приведёндобавлю - и его explain
...
Рейтинг: 0 / 0
Left join проблема...
    #38792692
SharuPoNemnogu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
скорее всего нет ключей, нет индексов, нужен explain
...
Рейтинг: 0 / 0
Left join проблема...
    #38792785
psfdek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SELECT * FROM `OTo_sms` JOIN `OTo_clients` ON `OTo_sms`.`client_login` = `OTo_clients`.`client_login` WHERE `OEo_clients`.`office_key` = '4e6fdeec6bf2c5724476ad6daec1036a';

Так работает..

Не работает только если COUNT(*) подсчет ввести..
...
Рейтинг: 0 / 0
Left join проблема...
    #38792786
psfdek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Короче когда делаю подсчет то не работает, а когда просто вывожу на страницу то работает. Мне нужно делать подсчет для пагинатора. До 14000 записей все норм работало, перевалило за 20000 перестало работать.
...
Рейтинг: 0 / 0
Left join проблема...
    #38792793
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
то есть так
Код: sql
1.
2.
3.
4.
SELECT * 
FROM `OTo_sms` 
JOIN `OTo_clients` ON `OTo_sms`.`client_login` = `OTo_clients`.`client_login` 
WHERE `OEo_clients`.`office_key` = '4e6fdeec6bf2c5724476ad6daec1036a'

работает, а так
Код: sql
1.
2.
3.
4.
SELECT count(*)
FROM `OTo_sms` 
JOIN `OTo_clients` ON `OTo_sms`.`client_login` = `OTo_clients`.`client_login` 
WHERE `OEo_clients`.`office_key` = '4e6fdeec6bf2c5724476ad6daec1036a'

нет? чудеса. ну а если попробовать вот так
Код: sql
1.
2.
3.
4.
5.
SELECT count(*) FROM (
 SELECT 1 FROM `OTo_sms` 
 JOIN `OTo_clients` ON `OTo_sms`.`client_login` = `OTo_clients`.`client_login` 
 WHERE `OEo_clients`.`office_key` = '4e6fdeec6bf2c5724476ad6daec1036a'
) t

?
...
Рейтинг: 0 / 0
Left join проблема...
    #38792919
psfdek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот видите работает без count (Лимит автоматом phpmyadmin добавил что бы все не отображать)


Так не работает



Так тоже не пашет
...
Рейтинг: 0 / 0
Left join проблема...
    #38792927
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
psfdekТак тоже не пашетПотому что буковка "t" там была не просто так.
...
Рейтинг: 0 / 0
Left join проблема...
    #38792940
psfdek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir,


теперь говорит что дублируется имя столбца D:
...
Рейтинг: 0 / 0
Left join проблема...
    #38792948
psfdek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хотя ведь указаны таблицы перед столбцами....
...
Рейтинг: 0 / 0
Left join проблема...
    #38792958
psfdek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И если вместо звездочки пишу 1 как вы написали, то тоже не пашет.
...
Рейтинг: 0 / 0
Left join проблема...
    #38792965
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
psfdek,

А какой у вас сейчас MAX_JOIN_SIZE ?
...
Рейтинг: 0 / 0
Left join проблема...
    #38792970
psfdek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я не знаю, на хостинге же. Я думал можно как то оптимизировать этот запрос. А то за 2 месяца 20000 через пол года еще менять придется его... :) Техподдержка мне не поможет.
Придется делать в php наверно, раз mysql не могёт... (Хотя while не справится наверно от такого массива ассоциативного)
Модератор: Пожалуйста, воздерживайтесь от употребления обсценной лексики. Пост поправлен.
...
Рейтинг: 0 / 0
Left join проблема...
    #38792978
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
psfdek,

Код: sql
1.
show variables like '%MAX_JOIN_SIZE%'

Что выдает?
...
Рейтинг: 0 / 0
Left join проблема...
    #38792989
psfdek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость

Вот.
...
Рейтинг: 0 / 0
Left join проблема...
    #38792995
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как уже просил tanglir, покажите план запроса, который работает.
...
Рейтинг: 0 / 0
Left join проблема...
    #38793001
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
psfdek

Вот.Значения уменьшены относительно стандартных, но по, по идее, должны быть достаточны.
...
Рейтинг: 0 / 0
Left join проблема...
    #38793003
psfdek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,

Чуть выше где три спойлера показан пример где без count работает, а с count нет.
...
Рейтинг: 0 / 0
Left join проблема...
    #38793007
SharuPoNemnogu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
psfdek,

explain <запрос который работает>
...
Рейтинг: 0 / 0
Left join проблема...
    #38793010
psfdek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Left join проблема...
    #38793015
SharuPoNemnogu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну не ключей ни индексов...
...
Рейтинг: 0 / 0
25 сообщений из 39, страница 1 из 2
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Left join проблема...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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