powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / SQLite [игнор отключен] [закрыт для гостей] / SQLite3. Вопрос про оптимизацию SQL-запроса.
7 сообщений из 7, страница 1 из 1
SQLite3. Вопрос про оптимизацию SQL-запроса.
    #35766833
Serge_RUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую всех участников форума! :). Есть вопрос про оптимизацию запроса к БД.
БД -- "лес" данных. Таблицы -- структура каждого дерева леса данных. Пример такой таблицы:
Код: plaintext
1.
CREATE TABLE SomeTreeM (dig INTEGER PRIMARY KEY, field1, field2, field3, field4 ... fieldN);

Навигация по дереву осуществляется таким образом:

Код: plaintext
1.
2.
3.
4.
 1 . SELECT field1 FROM SomeTree;
 2 . SELECT field2 FROM SomeTree WHERE field1 = 'something';
....
N. SELECT fieldN FROM SomeTree WHERE field1 = 'something' AND field2 = 'something' ... AND field(N- 1 ) = 'something';

Вопрос состоит в том, что если первые 3-4 подобных запроса отрабатывают с достаточной скоростью, то начиная уже с 5 скорость неприемлема. "Глубина" запросов не превышает 10 полей.
1. Использовал отдельные индексы на каждый field, но это не дало искомого результата.
2. Использовал комбинированные индексы на каждую комбинацию field'ов, но мне кажется, что можно поступить как-то еще более оптимальнее, тем более, что и такая оптимизация оказалась недостаточной при частом обращении к БД.

Что Вы можете посоветовать в моей ситуации?
...
Рейтинг: 0 / 0
SQLite3. Вопрос про оптимизацию SQL-запроса.
    #35766849
Serge_RUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не смог найти кнопки "Редактировать"... :)
Забыл добавить, что переход до каждого field'а занимает пробег всех field'ов до него, что, разумеется, малоэффективно, но ничего с этим поделать не могу. Данное ПО работает с некоторыми пропиетарными программами, которые почему-то делают именно так и не иначе. (
...
Рейтинг: 0 / 0
SQLite3. Вопрос про оптимизацию SQL-запроса.
    #35767725
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serge_RUS2. Использовал комбинированные индексы на каждую комбинацию field'ов
Field1 это Field1 и сегодня и завтра и всегда ? Или просто обозначена схема поиска в одной
сессии, а на самом деле в одной сессии Field1 это Name, в другой это Salary ? Ну и т.д.
...
Рейтинг: 0 / 0
SQLite3. Вопрос про оптимизацию SQL-запроса.
    #35768120
Serge_RUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dmitry Arefiev,

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

>>Field1 это Field1 и сегодня и завтра и всегда ?

Поля столбца field1 и ему подобным довольно редко обновляются. В рамках одного SomeTree столбцы обозначают одно и тоже независимо от времени.

>>Или просто обозначена схема поиска в одной сессии, а на самом деле в одной сессии Field1 это Name, в другой это Salary ?

Пользователь может сам задавать путь построения данных, потому вполне может быть, что в его сессии будет сначала field4 потом field3, field2, field8, а завершаться будет все на field1. Замечу еще, что пользователь может выбрать самостоятельно какой путь ему предпочтительнее, более того, он может использовать все 10 полей (10-ое поле конечное), а может сделать только 4 поля (4-ое поле конечное в структуре получившегося дерева).
...
Рейтинг: 0 / 0
SQLite3. Вопрос про оптимизацию SQL-запроса.
    #35768126
Serge_RUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>>Замечу еще, что пользователь может выбрать самостоятельно какой путь ему предпочтительнее,
Масло масляное. Извините за возможный ввод в заблуждения.
...
Рейтинг: 0 / 0
SQLite3. Вопрос про оптимизацию SQL-запроса.
    #35768408
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serge_RUS
Т.е. в общем случае поля могут встречаться в WHERE в произвольных комбинациях ?
Если так, то индексы не помогут. Надо думать над изменением модели данных ...
...
Рейтинг: 0 / 0
SQLite3. Вопрос про оптимизацию SQL-запроса.
    #35770286
Serge_RUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хорошо. тогда будем думать дальше. :) Спасибо!
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / SQLite [игнор отключен] [закрыт для гостей] / SQLite3. Вопрос про оптимизацию SQL-запроса.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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