powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Стоимость запроса
7 сообщений из 7, страница 1 из 1
Стоимость запроса
    #39144013
Closius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

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

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

Как и можно ли узнать стоимость выполнения запроса вне зависимости от кол-ва записей в бд в целом? То есть у меня сейчас тестовая база насчитывает около 110 юзеров и множество связанного контента с ними. Например есть один сложный запрос который дергает 3 таблицы (по отношениям many-to-many), его стоимость 900. Это много или мало? Не загнется ли бд при 1000 пользователей например? Хотелось бы узнать как оценивать такие вещи.
...
Рейтинг: 0 / 0
Стоимость запроса
    #39144039
drsm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Closius, на глаз такие вещи оцениваются.
стоит учесть, что при 100 пользователях оптимизатор может выбрать один алгоритм,
а при 1000 совершенно другой.
и классы сложности бывают разные
...
Рейтинг: 0 / 0
Стоимость запроса
    #39144104
Closius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
drsmClosius, на глаз такие вещи оцениваются.
стоит учесть, что при 100 пользователях оптимизатор может выбрать один алгоритм,
а при 1000 совершенно другой.
и классы сложности бывают разные

Спасибо за ответ! А есть где нибудь таблица сложностей определенных функций в постгресе? Например я гдето слышал что простой SELECT * FROM table WHERE id=3; имеет сложность О(logN). А как насчет более детального описания? Например какова будет сложность такого же запроса SELECT DISTINCT(name) FROM table; ?
...
Рейтинг: 0 / 0
Стоимость запроса
    #39144107
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ClosiusdrsmClosius, на глаз такие вещи оцениваются.
стоит учесть, что при 100 пользователях оптимизатор может выбрать один алгоритм,
а при 1000 совершенно другой.
и классы сложности бывают разные

Спасибо за ответ! А есть где нибудь таблица сложностей определенных функций в постгресе? Например я гдето слышал что простой SELECT * FROM table WHERE id=3; имеет сложность О(logN). А как насчет более детального описания? Например какова будет сложность такого же запроса SELECT DISTINCT(name) FROM table; ?

будет O(N*log(N)) в лучшем случае... и это не вопрос к базе а к ограничениям алгоритмов.
Вообще любые подобные вещи тестятся ТОЛЬКО натурными тестами на реальном железе которое будет использовано для Production и на реальных обьемах сгенерированных данных.
...
Рейтинг: 0 / 0
Стоимость запроса
    #39144188
Closius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Maxim Bogukбудет O(N*log(N)) в лучшем случае... и это не вопрос к базе а к ограничениям алгоритмов.
Вообще любые подобные вещи тестятся ТОЛЬКО натурными тестами на реальном железе которое будет использовано для Production и на реальных обьемах сгенерированных данных.

Спасибо. А может есть где какие либо тесты на основе реальной загрузки? Или даже best practices по написанию запросов?
...
Рейтинг: 0 / 0
Стоимость запроса
    #39144217
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Closius
Как и можно ли узнать стоимость выполнения запроса вне зависимости от кол-ва записей в бд в целом? То есть у меня сейчас тестовая база насчитывает около 110 юзеров и множество связанного контента с ними. Например есть один сложный запрос который дергает 3 таблицы (по отношениям many-to-many), его стоимость 900. Это много или мало? Не загнется ли бд при 1000 пользователей например? Хотелось бы узнать как оценивать такие вещи.

Берешь пишешь генератор данных для бд, набиваешь данные, чтобы их было много, скажем, в10 раз больше предполагаемый реальной загрузки, Потом на этой базе мериишь время выполнения твоих запросов.
...
Рейтинг: 0 / 0
Стоимость запроса
    #39144257
drsm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ClosiusСпасибо. А может есть где какие либо тесты на основе реальной загрузки? Или даже best practices по написанию запросов?
в принципе есть, но на самом деле, нужно уметь читать и понимать вывод этой комманды:
http://www.postgresql.org/docs/current/static/sql-explain.html
этого достаточно.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Стоимость запроса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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