Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Помогите оптимизировать запрос и построить правильные индексы / 2 сообщений из 2, страница 1 из 1
16.11.2009, 00:03
    #36311561
Polzovatel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите оптимизировать запрос и построить правильные индексы
Здравствуйте! Помогите, пожалуйста, с оптимизацией запроса и построением индексов, если у Вас найдется на это немного времени. Заранее извиняюсь - не силен в sql.
Имею две базы данных sqlite. В первой есть такая таблица
CREATE TABLE mgWordsRelations (
id INTEGER PRIMARY KEY,
id_norm INTEGER,
id_norminrel INTEGER,
UNIQUE (id_norm,id_norminrel)
)
А во второй такая:
CREATE TABLE wform (
id INTEGER PRIMARY KEY,
wordForm TEXT,
ancode TEXT,
wordNorm INTEGER
)
Данные хранятся в разных таблицах из-за особенностей архитектуры, подключаю вторую таким образом:
ATTACH DATABASE 'second.db' AS Lang

Мне было необходимо выполнить следующий запрос:
SELECT wordForm FROM Lang.wform WHERE
(ancode='someAncode')
AND
(wordNorm IN
(SELECT DISTINCT id_norminrel FROM mgWordsRelations WHERE
id_norm IN
(SELECT wordNorm FROM Lang.wform WHERE
wordForm='someWord')
)
)
Быстродействие меня не устраивало и я попробовал переписать его с использованием inner join:
SELECT wf1.wordForm FROM
Lang.wform wf1
JOIN mgWordsRelations wrel ON (wf1.wordNorm = wrel.id_norminrel)
JOIN Lang.wform wf2 ON (wrel.id_norm = wf2.wordNorm)
WHERE wf2.wordForm = 'someWord' AND wf1.ancode='someAncode'

Прибавки в скорости это не дало, а наоборот значительно ее уменьшило. Подскажите - существуют ли дополнительные пути оптимизации запроса и, главное, какие корректные индексы нужно создать для ускорения выполнения того или иного варианта выполнения данного запроса?
Спасибо!
...
Рейтинг: 0 / 0
16.11.2009, 16:43
    #36313011
Polzovatel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите оптимизировать запрос и построить правильные индексы
Ап. Очень нужна Ваша помощь.
...
Рейтинг: 0 / 0
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Помогите оптимизировать запрос и построить правильные индексы / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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