Какие выроды производительности я могу ожидать от базы данных пейджинга?

StackOverflow https://stackoverflow.com/questions/3016691

  •  26-09-2019
  •  | 
  •  

Вопрос

Скажем, у меня есть таблица X с 100 записями в нем и что работает select * from X занимает 100 секунд.

Как долго я должен ожидать запроса select top 10 * from X принять?

Я ожидаю, что отношения более или менее линейны, так что 10 секунд. Это правильно, или отношения нелинейны в некотором роде?

Это было полезно?

Решение

Ваша стоимость производительности находится в двух разных областях:

  • Сколько времени нужно, чтобы выполнить запрос
  • Сколько времени нужно, чтобы вернуть результаты

Зачастую запрос будет быстрым, но возвращающие результаты будут медленными, поскольку это входной / вывода. Если это так, то вы увидите приблизительно линейное ускорение, возвращая меньше результатов.

Однако, если сам запрос сложен, все отличаются. Если это не просто select * from X, но select * from X where [complicated-expression], Затем результаты могут широко варьироваться между реализациями базы данных. В этом случае ваша производительность может быть доминирована на сложность запроса, в этом случае вы не увидите столько пользы, просто возвращая меньше результатов.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top