Форум программистов, компьютерный форум, киберфорум
PostgreSQL
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 30.05.2022
Сообщений: 2

Поиск/индексирование по всем полям всех таблиц

31.05.2022, 00:03. Показов 410. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!

Есть база Postgres, а над ней создан интерфейс, который позволяет все таблицы фильтровать по любым полям разными операторами (например, =, >, <, содержит, начинается и т.д. (набор для каждого поля зависит от его типа)).

Есть ли в Postgres механизмы для поиска по любой комбинации условий/полей?

Индексировать каждое поле (или общий составной gin/gist) - не особо вариант, так как есть вполне большие таблицы с большим количеством столбцов, и каждый индекс в районе 1ГБ выходит. Да и накладно всё это получается при операциях записи.
Полнотекстовый, наверное, здесь не очень подходит, так как фильтрация может быть и достаточно простая, типа по числу, булеву и т.д. Да и нет тут задачи именно в текстовом поиске. Скорее, конкретные значения (или их наличие внутри).
Если сторонний механизм, то хочется, чтобы он был настолько интегрирован, чтобы обычный sql из любого источника использовал этот механизм для поиска.

Поделитесь, пожалуйста, какие есть варианты, чтобы можно было быстро (желательно, нативным sql) фильтровать таблицы по любой комбинации условий по любым полям.

Спасибо!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.05.2022, 00:03
Ответы с готовыми решениями:

Не могу разобраться с PostgreSQL. Поиск по всем таблицам и всем полям?
Вообщем у меня следующая проблема... подскажите как сделать поиск по во всех таблицах базы и во всех полях каждой таблицы? в моем...

Поиск по всем полям всех таблиц БД
Добрый день! Прошу помощи. В базе больше 200 таблиц. Необходимо найти все таблицы, у которых обязательно есть поля с именами ИМЯ1...

Поиск по всем полям таблиц(ы)
необходимо создать поиск по таблице(ам) по всем полям если идти по пути добавления отдельных поисков по отдельным полям (как в базе) то...

3
670 / 293 / 120
Регистрация: 12.04.2022
Сообщений: 1,002
31.05.2022, 08:56
Цитата Сообщение от program_mister Посмотреть сообщение
чтобы можно было быстро (желательно, нативным sql) фильтровать таблицы по любой комбинации условий по любым полям.
Динамический SQL ("клеить" запрос как строку) + индексировать по селективным полям. (например, строить индекс по полу М/Ж смысла не имеет )
0
0 / 0 / 0
Регистрация: 30.05.2022
Сообщений: 2
31.05.2022, 08:59  [ТС]
Цитата Сообщение от PaulWist Посмотреть сообщение
индексировать по селективным полям
То есть вы предлагаете каждое поле индексировать? По "м/ж" вполне тоже имеет смысл, так как в больших таблицах это тоже очень медленно работает. Пробовал на таблице с десятками млн записей.
0
670 / 293 / 120
Регистрация: 12.04.2022
Сообщений: 1,002
31.05.2022, 09:18
Цитата Сообщение от program_mister Посмотреть сообщение
То есть вы предлагаете каждое поле индексировать? По "м/ж" вполне тоже имеет смысл, так как в больших таблицах это тоже очень медленно работает. Пробовал на таблице с десятками млн записей.
Нет, вы невнимательно прочитали, я предлагал индексы по селективным полям, ... а вообще, выбор индексов должен быть выбран по статистике запросов, пример выбор по Фамилии будет скорее всего чаще чем по Отчеству -> строим индекс по ФИО, а не ОФИ.

Второе, по "м/ж" строить индекс не имеет смысла, поскольку средне статистически половина таблицы бедет М, другая половина Ж, соотвественно оптимизатор даже при наличии индекса выберет просто сканирование таблицы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
31.05.2022, 09:18
Помогаю со студенческими работами здесь

Поиск по всем полям таблиц БД
Здравствуйте. Есть две таблицы, связь один-ко-многим (Список организаций и Номера телефонов сотрудников). На основании таблицы...

Поиск по всем полям
Здравствуйте. Раньше вел базу таблицу в excel, но сейчас хочу перейти на Access, т.к. думаю больше удобства будет для заполнения и...

организовать поиск по всем полям у взаимосвязанных таблиц
Всем привет. Есть например 4 таблицы клиент, проект, этап, документ. связваны они по id. Вопрос: как мне можно организовать поиск по всем...

Поиск по всем полям
Приветствую. Такая задача стоит: Есть таблица, в ней 12 полей. По 9 из них нужно вести поиск таким образом, чтобы данные для поиска...

Поиск по всем полям в БД
Как сделать поиск по всем полям в базе данных( DBGrid)


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru