
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
14.03.2016, 18:26
|
|||
|---|---|---|---|
|
|||
Оптимизация выборки данных |
|||
|
#18+
Есть две переменные 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" и селектать только одну колонку. Но скажите, пожалуйста, будет ли от этого толк? :) Таблица тяжелая, данных много. Важна скорость выполнения поиска. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.03.2016, 18:35
|
|||
|---|---|---|---|
Оптимизация выборки данных |
|||
|
#18+
UNION [ALL] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.03.2016, 18:37
|
|||
|---|---|---|---|
|
|||
Оптимизация выборки данных |
|||
|
#18+
Мне кажется второй отдельный селект еще хуже, чем OR. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&tablet=1&tid=1832066]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
163ms |
get topic data: |
8ms |
get forum data: |
3ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 197ms |
| total: | 434ms |

| 0 / 0 |
