dimitrius
Новичок
Нужна помощь в проектировании БД для хранения синонимов.
К примеру есть текстовый файл слов синонимов
Слово: синоним 1, синоним 2, синоним 3.
Необходимо эту структуру экспортировать в БД для последующей выборки синонимов в любом направлении.
Что мне при шло в голову
Index: Слово -> синоним 1;
Index: Слово -> синоним 2;
Index: Слово -> синоним 3;
Index: синоним 1 -> Слово
Index: синоним 1 -> синоним 2
Index: синоним 1 -> синоним 3
и т.д.
Вроде как индексы должны ускорить выборку по слову, но тогда размер базы растет очень сильно.
Потом я решил сделать сделать по другому:
Index: Слово -> синоним 1;
Index: синоним 1 -> синоним 2
Index: синоним 2 -> синоним 3
Но тогда становится проблема составления запроса при неизвестной глубине ветки, а рекурсивно проходить это много обращений к БД, что посоветуете? как это оптимизировать?
К примеру есть текстовый файл слов синонимов
Слово: синоним 1, синоним 2, синоним 3.
Необходимо эту структуру экспортировать в БД для последующей выборки синонимов в любом направлении.
Что мне при шло в голову
Index: Слово -> синоним 1;
Index: Слово -> синоним 2;
Index: Слово -> синоним 3;
Index: синоним 1 -> Слово
Index: синоним 1 -> синоним 2
Index: синоним 1 -> синоним 3
и т.д.
Вроде как индексы должны ускорить выборку по слову, но тогда размер базы растет очень сильно.
Потом я решил сделать сделать по другому:
Index: Слово -> синоним 1;
Index: синоним 1 -> синоним 2
Index: синоним 2 -> синоним 3
Но тогда становится проблема составления запроса при неизвестной глубине ветки, а рекурсивно проходить это много обращений к БД, что посоветуете? как это оптимизировать?