Отправляет email-рассылки с помощью сервиса Sendsay

За 2020-08-03

[prg] Re[5]: mysql-запрос

Приветствую всех!

Подзапрос (т. е. вложенный select), предположительно, должен был бы отбирать
id вопросов, поэтому способ отличить вопрос от ответа имеет смысл в
контексте темы.
А что такое "разные метки" в терминах реляционных СУБД?

Другой вариант не предполагает использование подзапросов -- вам не следует
в цикле посылать запросы к БД, В цикле вам нужно собрать все требуемые id в
массив, а затем при помощи функции implode() собрать строку для выражения
WHERE со всеми условиями, объединёнными оператором OR.
И послать единственный второй запрос с таким длинным выражением WHERE.
Помешать реализации этого способа может ограничение на общую длину запроса,
тогда придется делать несколько запросов с более короткими выражениями
WHERE.
Несмотря на громоздкость такого запроса, на стороне сервера БД он окажет
гораздо меньшую нагрузку, чем 83 тыс. отдельных запросов.

Успехов. Анатолий.
Исходное сообщение > Вопросы и ответы имеют разные метки, так и различаются, но в данной
> проблеме это не причем.
>

   "i_chay" 2020-08-03 19:47:15 (#3655809)

[prg] Re[4]: mysql-запрос

Приветствую!

Все id конечно же уникальны, в mysql-запросах я привел пример того, как
я могу это реализовать, но это крайне тяжелая операция в плане ресурсов.

Вопросы и ответы имеют разные метки, так и различаются, но в данной
проблеме это не причем.

Нужна грамотная и главное легковесная выборка из базы.

   2020-08-03 17:19:05 (#3655795)

[prg] Re[3]: mysql-запрос

Приветствую всех!

Без структуры таблицы (поля и их типы), трудно понять, что собой
представляет поля question и id.
Является ли id уникальным для каждой записи или нет? Если вопросы и ответы в
одной таблицы, то как отличить их друг от друга?
Возможно, вам надо смотреть в сторону запросов с подзапросами (то есть когда
после FROM в круглых скобках идёт второй SELECT), но опять же для
конкретного ответа нужна структура таблицы БД.

Успехов. Анатолий.

Исходное сообщение > запрос 1
>
> mysql_query("SELECT question FROM mytable");
>
> далее перебираем полученый массив вопросов и к каждому вопросу получаем
> из базы ответы,ответы, напоминаю, имеют id вопроса.
>
> запрос 2
>
> mysql_query("SELECT question FROM mytable where id = $id");
> Вопросы и ответы находятся в одной таблице.

   "i_chay" 2020-08-03 16:31:01 (#3655793)