powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Поиск по одной колонке в разных таблицах MySQL
6 сообщений из 6, страница 1 из 1
Поиск по одной колонке в разных таблицах MySQL
    #38875324
4test4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Имеется несколько таблиц (если быть точным шесть), с одинаковой структурой колонок и их типов. Стоит задача организовать поиск по одной колонке во всех таблицах. Сейчас это организовано таким вот не хитрим велосипедом:
Код: sql
1.
2.
3.
SELECT column FROM `table_1` WHERE column  LIKE  'pc%'
UNION SELECT column FROM `table_2` WHERE column LIKE  'pc%'
...



Причем, прошу заметить, что подстрока, является одинаковой, для всех запросов. В данном случае это pc
Прошу помощи, как можно оптимизировать запрос и сделать его более коротким и быстрым. Спасибо!
...
Рейтинг: 0 / 0
Поиск по одной колонке в разных таблицах MySQL
    #38875361
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4test4,

Слить Ваши 6 таблиц в одну (добавив поле-признак).
...
Рейтинг: 0 / 0
Поиск по одной колонке в разных таблицах MySQL
    #38875401
4test4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не много не понятен ваш совет, что за поле-признак?
...
Рейтинг: 0 / 0
Поиск по одной колонке в разных таблицах MySQL
    #38875504
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4test4Не много не понятен ваш совет, что за поле-признак?

Признак, из какой таблицы из шести изначально была взята данная запись, тип записи.
Если, конечно, такого поля ещё нет и записи нужно различать.
...
Рейтинг: 0 / 0
Поиск по одной колонке в разных таблицах MySQL
    #38875822
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4test4Добрый день!

Имеется несколько таблиц (если быть точным шесть), с одинаковой структурой колонок и их типов. Стоит задача организовать поиск по одной колонке во всех таблицах. Сейчас это организовано таким вот не хитрим велосипедом:
Код: sql
1.
2.
3.
SELECT column FROM `table_1` WHERE column  LIKE  'pc%'
UNION SELECT column FROM `table_2` WHERE column LIKE  'pc%'
...



Причем, прошу заметить, что подстрока, является одинаковой, для всех запросов. В данном случае это pc
Прошу помощи, как можно оптимизировать запрос и сделать его более коротким и быстрым. Спасибо!

1. создать VIEW

Код: sql
1.
2.
3.
4.
5.
СREATE VIEW `table_1_6`(column ) AS
SELECT column FROM `table_1`
UNION SELECT column FROM `table_2`
...
UNION SELECT column FROM `table_6`



2. Делать запрос к VIEW

Код: sql
1.
SELECT column FROM `table_1_6` WHERE column  LIKE  'pc%'
...
Рейтинг: 0 / 0
Поиск по одной колонке в разных таблицах MySQL
    #38876041
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4test4как можно оптимизировать запрос и сделать его более коротким и быстрым
1. "Короткий и быстрый" не всегда можно выполнить одновременно.
2. быстрый не всегда связано ТОЛЬКО с самим запросом.

В вашем случае ускорить запрос с таким условием МОЖЕТ создание индексов на поле column в таблицах 1-6.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Поиск по одной колонке в разных таблицах MySQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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