Доброго времени суток!
Задумался над эффективностью использования отбора в динамическом списке.
По сути: Есть дин.список с произвольным запросом ограниченным параметром, что эффективнее по нагрузке на сервер изменить запрос (добавить доп параметр выборки данных) или наложить отбор на существующую выборку?
Тут возникает дилема: на малой выборке возможно, что отбор потребует бОльших затрат ресурсов чем повторная выборка данных, а на большой выборке возможен проигрыш по времени.
Вот и получается, что отбор применим для выборок при сложных запросах к БД, в остальных случаях эффективнее использовать параметр для выбора данных. Я прав или нет?
(2)+ на том что у меня есть разница в доли секунды в любом раскладе.
Хотел уточнить, может кто интересовался данным вопросом, потому что, по идее, в обеих случаях выполняется запрос к данным только вопрос в объёме перебираемых данных.
(4) Вопрос в затратах времени (ресурсов) на выполнение операции, а дин.список выбран в качестве иллюстрации. возможно, не самый удачный пример.
Если я правильно понимаю (в терминах SQL):
1. Параметр запроса - запрос прямо к таблице БД
2. Отбор - запрос к представлению(или временной таблице), т.е. мы уже что-то выбрали с какими-то условиями и в этом хотим отфильтровать (наложить дополнительные условия).
По большому счёту 2. имеет смысл только при очень хитро-мудром выборе данных, при котором проще отфильтровать в найденном чем выполнить изначальную выборку. Соответственно преимущество появляется на больших объёмах информации, т.е. применение отбора в выборке должно быть оправдано по затратам.
Получается, что использование отборов на формах станет актуальным только после накопления какого-то, достаточно большого, объёма данных. Вот что хотелось бы понять!
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший