mitshel / sopds

Simple opds catalog
http://www.sopds.ru/
Other
211 stars 80 forks source link

Оптимизация запросов. #2

Closed fabrikant closed 10 years ago

fabrikant commented 10 years ago

Вместо соединения таблиц используем условие со вложенным запросом. Это ускоряет запрос в 7-9 раз на больших объемах данных.

Обратил внимание, что на моем железе asus eee pc x101ch с библиотекой flibusta.net не работает поиск книг по жанрам и авторам. Сool reader выдает ошибку устав ждать ответа. Начал копать. Оказалось, что запрос по авторам с поиском по случайному автору выполняется ~2 мин, а запрос по жанрам ~1 мин. После модификации запросов ~11 сек и 6-8 сек соответственно. Тоже не супер конечно, но хотя-бы работает.

Надеюсь, что пригодится.

mitshel commented 10 years ago

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