- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Зачем быть уникальным в мире, где все можно скопировать
Почему так важна уникальность текста и как она влияет на SEO
Ingate Organic
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте.
Насколько корректно использовать подобный запрос?:
SELECT name, foto, news FROM users WHERE group <> 1 AND newsnum <> 0 AND ( name = '123' OR name = 'MmM' OR name = 'Gami' OR name = 'Umiro' OR name = 'Zma' OR name = 'Madr' OR name = 'Moys' OR name = 'Аnom' OR name = 'Mina' OR name = 'Admin' OR name = 'Manda' OR [..еще сотня name = 'nick'] )
WHERE name IN ('123', 'MmM', 'Gami', ....)
так получше, но лишь по части синтаксиса. Нужно смотреть структуру БД, возможно, там можно привести к более нормальной форме (дополнительная группировка пользователей и т.п.)
Спасибо. Можно, наверное - соединив два запроса в один ( по WHERE table1.name = table2.name ). Читаю многостраничное описание команд и пытаюсь понять как, ведь запрос тогда очень сложный будет, а я не дружу с SQl (а он со мной ) ).
Приведите здесь структуры таблиц и поставленную задачу, вам помогут
Только не забудьте про индексы.
ТС, не переживайте, всё будет ок. Главное, как сказали выше, удостоверитесь, что индексы в столбце name проставлены. Остальное БД сделает за вас :)
что индексы в столбце name проставлены
здесь нужен не индекс по name, а составной индекс по всем трём столбцам. Но на всякий случай EXPLAIN лучше сделать для гарантии.
Уже есть WHERE group <> 1 , почему бы эти 100 пользователей не объединить еще в какую-нить группу и уже делать WHERE group=n ну или добавить еще таблицу с правами пользователей.
здесь нужен не индекс по name, а составной индекс по всем трём столбцам. Но на всякий случай EXPLAIN лучше сделать для гарантии.
сомневаюсь я что такой индекс тут поможет чем-то.
если бы было WHERE group = 1 AND newsnum = 0 - тогда да.
сомневаюсь я что такой индекс тут поможет чем-то.
если бы было WHERE group = 1 AND newsnum = 0 - тогда да.
лучше жувать иногда :)
Почитайте, что такое индексы. От запроса это не зависит.
---------- Добавлено в 23:57 ---------- Предыдущее сообщение было в 23:49 ----------
И кстати, ТС попробуйте пойти от обратного и искать ОДИН !=nick может быть быстрее будет :)
тут поможет чем-то.
Если мне не изменяет память, то конструкция IN или её аналог OR ... OR
... OR .... проходит аналогично отдельным запросам, а значит и составной индекс будет задействоваться. Но я сделал оговорку, что нужно проверить EXPLAIN. Ибо "чуйка" подсказывает, что должно работать, но всё же проверка не будет лишней, ибо я уже какое-то время больше "по руководящей линии", чем собственно програмлю, мог уже что-то и забыть.