powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Выборка из нескольких таблиц
13 сообщений из 13, страница 1 из 1
Выборка из нескольких таблиц
    #33807936
Robert Ayrapetyan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется куча таблиц одинаковой структуры. Нужно что-то типа select * from *. А нельзя. Вручную вбить можно, но хотелось бы знать есть ли другой способ подсунуть парсеру параметр "все таблицы"?
...
Рейтинг: 0 / 0
Выборка из нескольких таблиц
    #33808130
ZemA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
select *, 'table1' as table_name from table1
union
select *, 'table2' from table2
union
select *, 'table3' from table3
...
Рейтинг: 0 / 0
Выборка из нескольких таблиц
    #33808161
SOmni
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно :)
Получаем все нужные таблицы
--
select tablename from pg_tables where schemaname='public' and tablename like 'table_%'
--
ну и далее можно хранимку написать, которая вернет всё, что нужно
...
Рейтинг: 0 / 0
Выборка из нескольких таблиц
    #33808166
Фотография pamir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И не забыть покусать того, кто спроектировал такую структуру.
...
Рейтинг: 0 / 0
Выборка из нескольких таблиц
    #33808465
ZemA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOmniМожно :)
Получаем все нужные таблицы
--
select tablename from pg_tables where schemaname='public' and tablename like 'table_%'
--
ну и далее можно хранимку написать, которая вернет всё, что нужно
что-то я о этом даже не подумал :)

pamirИ не забыть покусать того, кто спроектировал такую структуру.
лучше уж сразу "бритвой по горлу и в колодец" (с)
...
Рейтинг: 0 / 0
Выборка из нескольких таблиц
    #33808490
Владимор Конев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZemA SOmniМожно :)
Получаем все нужные таблицы
--
select tablename from pg_tables where schemaname='public' and tablename like 'table_%'
--
ну и далее можно хранимку написать, которая вернет всё, что нужно
что-то я о этом даже не подумал :)

pamirИ не забыть покусать того, кто спроектировал такую структуру.
лучше уж сразу "бритвой по горлу и в колодец" (с) А еще пожно один раз таким образом собрать партицированное предсталение. А уж затем все запросы направлять к этому представлению :)
...
Рейтинг: 0 / 0
Выборка из нескольких таблиц
    #33808499
Владимор Конев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZemA[quot SOmni]Можно :)
Получаем все нужные таблицы
--
select tablename from pg_tables where schemaname='public' and tablename like 'table_%'
--
ну и далее можно хранимку написать, которая вернет всё, что нужно
что-то я о этом даже не подумал :)
А еще можно один раз таким образом собрать партицированное предсталение (процедурно получить DDL-текст на создание представления). А уж затем все запросы направлять к этому представлению
...
Рейтинг: 0 / 0
Выборка из нескольких таблиц
    #33811506
Robert Ayrapetyan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо. Такой вопрос. Но сначала постановка задачи. Есть несколько объектов. Каждый объект генерирует лог-файл, приличный, порядка сотни тысяч записей в день. У всех объектов лог-файлы одинаковы по структуре. Я эти лог-файлы складываю в БД, причем для каждого объекта у меня отдельная таблица. Собственно вопрос: есть ли смысл ввести дополнительное поле "Идентификатор объекта" и класть все логи в одну единственную таблицу? Ускорит ли это запросы типа "select * from *" или скорость не изменится?
...
Рейтинг: 0 / 0
Выборка из нескольких таблиц
    #33932930
SOmni
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не попробуешь - не узнаешь :)
...
Рейтинг: 0 / 0
Выборка из нескольких таблиц
    #33933538
Andrew Sagulin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Robert AyrapetyanСобственно вопрос: есть ли смысл ввести дополнительное поле "Идентификатор объекта" и класть все логи в одну единственную таблицу? Ускорит ли это запросы типа "select * from *" или скорость не изменится?

Ускорить-то может быть и не ускорит, но жизнь упростит точно. Ещё можно сделать партиционирование по дням, тогда могут не понадобиться индексы по дате/времени.
...
Рейтинг: 0 / 0
Выборка из нескольких таблиц
    #33934238
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Robert AyrapetyanИмеется куча таблиц одинаковой структуры. Нужно что-то типа select * from *. А нельзя. Вручную вбить можно, но хотелось бы знать есть ли другой способ подсунуть парсеру параметр "все таблицы"?
если вы всю эту кучу унаследуете от одной болванки
CREATE TABLE tab001 INHERITS (tab) ;
....
CREATE TABLE tab015 INHERITS (tab) ;
то
SELECT * FROM tab;
вернет вам данные всех таблиц
...
Рейтинг: 0 / 0
Выборка из нескольких таблиц
    #33934252
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а так
SELECT *,tableoid FROM tab;
- еще и указатели на таблицы.
...
Рейтинг: 0 / 0
Выборка из нескольких таблиц
    #33934364
Фотография pamir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О! Удобный вариант использования наследования.
Пожалуй можно забрать назад свои слова
Ну или смягчить их :)
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Выборка из нескольких таблиц
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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