powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Оптимизация выборки данных
4 сообщений из 4, страница 1 из 1
Оптимизация выборки данных
    #39191662
andrey10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть две переменные id (допустим это 1 и 2), они выполняют роль идентификаторов двух разных пользователей и записываются в базу вместе с другой информацией. Первый id записывается в колонку id1, второй в id2. Иногда данные идут вперемешку и записываются как id1:2, id2:1. Далее задача: найти все записи с id 1 - выполняю select * from table where id1=1 or id2=1.

Созрела идея сделать иначе - записывать оба id в одну колонку через разделительный знак ("1-2", "2-1") и потом разбирать его на уровне приложения. Таким образом я могу избавиться от "or" и селектать только одну колонку. Но скажите, пожалуйста, будет ли от этого толк? :) Таблица тяжелая, данных много. Важна скорость выполнения поиска.
...
Рейтинг: 0 / 0
Оптимизация выборки данных
    #39191673
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UNION [ALL]
...
Рейтинг: 0 / 0
Оптимизация выборки данных
    #39191677
andrey10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне кажется второй отдельный селект еще хуже, чем OR.
...
Рейтинг: 0 / 0
Оптимизация выборки данных
    #39191696
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey10,

Для начала создайте отдельный индекс по каждому из полей, сделайте ANALYZE TABLE таблице, напишите запрос через OR, замерьте время его выполнения и посмотрите его план.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Оптимизация выборки данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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