SQL: несколько таблиц, один индекс - PullRequest
0 голосов
/ 09 июня 2011

Существует ли база данных SQL, которая позволяет иметь один индекс для нескольких таблиц table.column, чтобы я мог запросить несколько таблиц table.column одновременно, и чтобы индекс возвращал table.column и первичный ключ таблицы?

Или мне всегда нужно использовать внешний индекс, такой как Lucene?

Уточнение: нужный мне индекс для нескольких таблиц

Ответы [ 3 ]

5 голосов
/ 09 июня 2011

Вы можете индексировать представление, которое объединяет таблицы в большинстве СУБД.

Это позволяет вам иметь один индекс для многих столбцов во многих таблицах

В SQL Server этоиндексированное представление.Или материализованное представление в Oracle.

0 голосов
/ 09 июня 2011

Существует ли база данных SQL, которая позволяет иметь один индекс для нескольких таблиц table.column, чтобы я мог запросить несколько таблиц table.column одновременно и чтобы индекс возвращал table.column и первичный ключ таблицы?

Не уверен, что я получил ваш вопрос, но, похоже, вы задаетесь вопросом о возможности сканирования растровых индексов .

Если так, то да. PostgreSQL позволяет сделать это . Насколько я знаю, MySQL не будет, как и SQLite. Не уверен насчет Oracle и SQL-Server (хотя я ожидаю, что да для обоих).

0 голосов
/ 09 июня 2011

Нельзя применять один индекс к столбцам в нескольких таблицах.В Lucene можно использовать внешние индексы, как вы упомянули.

Проверьте следующую ссылку для Lucene:

Использование Lucene - внешние индексы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...