Авторизация

Логин: Пароль:
Регистрация Забыли свой пароль?

Причины медленной работы запросов к базе

Страницы: 1
Причины медленной работы запросов к базе
В чем обычно причины медленной работы запросов к базе? Именно большое количество строк в базе или относительная сложность запроса? Как обычно это можно преодолеть?
И может ли помочь разбиение большой таблицы из миллиона строк на несколько таблиц, в каждой из которых какие-то поля имеют одинаковые значения?
Тогда можно заранее определять, к какой таблице делать запрос
Accende lumen sensibus, infude ainorem corbidus!
Цитата
motorway11 пишет:
В чем обычно причины медленной работы запросов к базе?

запрос возвращает много данных, что как правило не имеет смысла. Либо не правильно проведена индексация базы данных.

В fireBird например еще имеет значение актуальность статистики по индексам, количество "мусора" в базе.

Цитата
motorway11 пишет:
И может ли помочь разбиение большой таблицы из миллиона строк на несколько таблиц, в каждой из которых какие-то поля имеют одинаковые значения?
Тогда можно заранее определять, к какой таблице делать запрос

от конкретного случая зависит.
Цитата
запрос возвращает много данных, что как правило не имеет смысла.

Это уже зависит от запроса - ведь если нам надо вывести, например, все магазины в Москве, продающие данный тип товара, то их количество может быть большим. Но запрос вполне осмыслен.
Часто используют такой аргумент, что в реляционных БД сложные запросы выполняются медленно, а вот если сделать многомерное представление данных, то будет быстрее.
Accende lumen sensibus, infude ainorem corbidus!
Цитата
motorway11 пишет:
Это уже зависит от запроса - ведь если нам надо вывести, например, все магазины в Москве, продающие данный тип товара, то их количество может быть большим. Но запрос вполне осмыслен.

пользователь видит сразу все? наверное нет, выбирай список частями не надо сразу все забирать на клиента получай записи порциями которые необходимы в данный момент.

Цитата
motorway11 пишет:
Часто используют такой аргумент, что в реляционных БД сложные запросы выполняются медленно

не верю (с)

Цитата
motorway11 пишет:
а вот если сделать многомерное представление данных, то будет быстрее.

как то абстрактно звучит, что имеешь в виду под "многомерное представление данных"
Изменено: Frees - 29.07.2010 20:50:20
Как раз то, о чем я пишу, часто встречается в сравнении OLAP и OLTP. Даже если взять книгу почти любую, там это будет написано. Тот же Data Mining with SQL Server 2005 (ZhaoHui Tang and
Jamie MacLennan). В OLAP используется многомерный куб. Те же запросы к реляционной БД выполняются гораздо медленнее. Не могут же везде писать неправильные вещи...
Скорее, дело не только в том, видит ли все пользователь или нет. Может, надо просто проверять большое количество строк на соотв-е запросу. Если надо искать по какому-то условию, то запрос может быть медленным при большой таблице.
Accende lumen sensibus, infude ainorem corbidus!
Страницы: 1
Читают тему (гостей: 1, пользователей: 0, из них скрытых: 0)