powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Как оптимизировать запрос для 3 таблиц в sqlite?
1 сообщений из 1, страница 1 из 1
Как оптимизировать запрос для 3 таблиц в sqlite?
    #35388195
kamre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть таблица, в ней находится описание набора тестов, создается примерно вот так:
Код: plaintext
1.
create table tests (id integer primary key autoincrement, descr1 int, descr2 int)

Также имеется две таблицы с результатами для тестов, создаются так:
Код: plaintext
1.
2.
create table resA (id integer, res integer, perf real)
create table resB (id integer, res integer, perf real)

Тестов довольно много, больше 5000. Нужно сравнить результаты для тестов.

Например, делаю вот такой запрос:
Код: plaintext
1.
2.
3.
4.
select descr1, sum(resA.perf), sum(resB.perf)
from tests, resA, resB
where tests.id=resA.id and resA.id=resB.id
group by descr1
Очень долго работает, похоже, что строит все 5000*5000*5000 вариантов.

Так же пытался сделать так:
Код: plaintext
1.
2.
3.
select descr1, sum(resA.perf), sum(resB.perf)
from tests inner join resA using(id) inner join resB using(id)
group by descr1
Работает также очень долго.

Хотя если просто:
Код: plaintext
1.
2.
select *
from tests inner join resA using(id) inner join resB using(id)
то все вполне быстро выдает.

Подскажите, почему так получается? Т.е. почему для суммирования и группировки уже имеющихся данных тратится столько много времени?
Как правильно построить запрос?
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Как оптимизировать запрос для 3 таблиц в sqlite?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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