powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Подскажите как будет правильно, чтобы минимизировать количество запросов к базе?
7 сообщений из 7, страница 1 из 1
Подскажите как будет правильно, чтобы минимизировать количество запросов к базе?
    #38840067
Sergey_555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поиск должен происходить в одном поле базы нескольких значений.
Есть форма, в ней указываются значения которые необходимо найти в одном из полей.
Допустим таблица базы имеет следующий вид



В форме для поиска указали 5 значений (“ a ”,” b ”,”e”,” g ”,”u”).
Теперь нужно произвести поиск всех 5-ти значений в таблице (найдет три совпадения) и вывести на обозрение те, которые не нашлись в таблице (” e ” и ” u ”).

Собственно вопрос как лучше?

1. Создать массив (arr_1) со значениями которые нужно найти (“ a ”,” b ”,”e”,” g ”,”u”) и из таблицы получить массив (arr_2) в который занести все значения поля 2.
Затем из массива (arr_1) выкинуть все значения которые совпали и вывести то, что осталось.

2. Вести в базе в поле 2 поиск сразу всех 5-ти значений
SELECT * FROM таблица WHERE поле2 IN (“ a ”,” b ”,”e”,” g ”,”u”);
А как тогда выкинуть те которые совпали и оставить только те которые не нашлись (уникальные) ?
...
Рейтинг: 0 / 0
Подскажите как будет правильно, чтобы минимизировать количество запросов к базе?
    #38840079
SharuPoNemnogu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я бы выбрал второй вариант, а потом в "фетче" отсеять которых нет, через тот же in_array к примеру, или array_diff в конце. Но запрос точно из 2го варианта.
...
Рейтинг: 0 / 0
Подскажите как будет правильно, чтобы минимизировать количество запросов к базе?
    #38840085
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NOT IN, парни.... NOT IN !!!
Вы чего? :) Дак ещё и вопрос не в той ветке
...
Рейтинг: 0 / 0
Подскажите как будет правильно, чтобы минимизировать количество запросов к базе?
    #38840104
SharuPoNemnogu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Програмёр,

дык это чего, 2 запроса делать? мож я чего не до вкурил)
...
Рейтинг: 0 / 0
Подскажите как будет правильно, чтобы минимизировать количество запросов к базе?
    #38840108
SharuPoNemnogu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я так понял, что надо вывести значения из формы, по которым ничего не найдено, а тут видимо действительно вариант с not in).. Пойду спать лучше(
...
Рейтинг: 0 / 0
Подскажите как будет правильно, чтобы минимизировать количество запросов к базе?
    #38840126
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey_555и вывести на обозрение те, которые не нашлись в таблице (” e ” и ” u ”).
Оба варианта не очень хороши.

Код: sql
1.
select distinct field2 from table where field2 in  (“a”,”b”,”e”,”g”,”u”)


Это даст тебе кода имеющиеся в таблице. А потом сравни полученный список с оригинальным массивом. Все.

Варианты с not in тебе не пойдут. Они выдадут все значения которые есть в таблице и которых нету в списке (s, d, f, h, etc). А это не то что тебе нужно.
Впрочем, если ты сможешь сделать себе вторую таблицу в которой будет хранится список из (a,b,e,g,u) то уже на него можно было бы натравливать not in и/или [not] exists.
...
Рейтинг: 0 / 0
Подскажите как будет правильно, чтобы минимизировать количество запросов к базе?
    #38848501
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl,


ну если человеку очень хочеться,

то можно временную таблицу на лету делать
select 'a'
union
select 'b'
union ...

и джоином получить сразу те, которых нету.

а вообще довольно таки быстро на индексном поле сработает и
not exists 'a' or not exists 'b'....
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Подскажите как будет правильно, чтобы минимизировать количество запросов к базе?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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