2014-10-26 3 views
0

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

Но мой вопрос следующий: когда у меня есть таблица с столбцами id, name, address и в моем приложении я просто покажу только имя, и я не буду работать с каким-либо другим столбцом, должен ли я выбрать только имя, или это не имеет значения, если я выберу только все столбцы из требуемых строк?

Я спрашиваю, потому что, если я его правильно понимаю, сущность framework/hibernate получает все столбцы из базы данных, поэтому она не должна создавать никаких проблем в приложениях с огромными данными.

+0

* Я понимаю это правильно *. Нет, и EF, и NHibernate позволяют извлекать * проекции * из базы данных. –

ответ

1

В идеале вы должны получить только те данные, что вам нужно. Если у вас есть 100 столбцов, и вам нужно только 1 на них, то зачем выбирать все эти дополнительные столбцы? Если вы получаете больше данных, чем вам нужно, вы получаете больше дисковых чтений, больше сетевого использования, больше центрального процессора, используемого для обработки данных.

Возможно, это не проблема, если приложение малое, и время от времени повторяется всего лишь несколько запросов, но если вы говорите о больших системах с очень большим количеством запросов, все эти дополнительные выбранные столбцы ухудшат вашу общую производительность система.

Смежные вопросы