Какой прирост производительности можно ожидать от подкачки базы данных?
Скажем, у меня есть таблица X со 100 записями в ней и select * from X
занимает 100 секунд.
Как долго я должен ожидать запрос select top 10 * from X
принять?
Я ожидаю, что отношения более или менее линейны, поэтому 10 секунд. Это правильно, или отношения в некоторой степени нелинейны?
1 ответ
Ваша производительность в двух разных областях:
- Сколько времени занимает выполнение запроса
- Сколько времени нужно, чтобы вернуть результаты
Часто запрос будет быстрым, но возвращение результатов будет медленным, поскольку он связан с вводом / выводом. Если это так, то вы увидите примерно линейное ускорение, возвращая меньше результатов.
Однако, если сам запрос сложный, все иначе. Если это не просто select * from X
, но select * from X where [complicated-expression]
, тогда результаты могут сильно различаться в зависимости от реализации базы данных. В этом случае ваша производительность может зависеть от сложности запроса, и в этом случае вы не увидите такой большой выгоды, просто возвращая меньше результатов.