Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.53/17: Рейтинг темы: голосов - 17, средняя оценка - 4.53
newman123
4 / 4 / 1
Регистрация: 28.07.2009
Сообщений: 13
#1

Запрос данных из БД. Один большой запрос или много маленьких?

03.08.2009, 00:44. Просмотров 3105. Ответов 2
Метки нет (Все метки)

Есть основная форма, на которой расположен TreeView, содержащий щас 30 ветвей. По щелчке на ветке открываются дочерние формы, на каждой в среднем 10 контролов. Получаем на весь проект 30*50 = 1500 контролов. На каждый нужно раздавать права Visible - Unvisible, оно лежит в базе.

Варианты:
1) При щелчке на ветке делать запрос в базу и получать 50 строк, в каждой из которой содержится значение свойства IsVisible
2) При загрузке главной формы делать запрос в базу и получать 1500 строк на все контролы всех веток дерева(можно их положить в DataTable), и при щелчке на конкретной ветке проверять IsVisible уже в DataTable

В первом случае получаем множественные запросы в базу, во втором более медленное открытие главной формы.

Мне второй случай предпочтительнее, но мало ли в будущем будет не 30, а 300 веток в дереве, на каждой из которых будет по 150 контролов, в результате будет запрашиваться таблица в 45 тысяч строк.

Просто нужен совет бывалых, какой бы вариант выбрать в этом случае.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.08.2009, 00:44
Ответы с готовыми решениями:

Вытаскивание данных из базы через один запрос, но с несколькими интерфейсными методами
Добрый день! Поясню ситуацию. Приложение работает с SQL сервером, и на данный...

Большой запрос
Подскажите, как сделать лучше. Имеется большой SQL-запрос, который "запихать" в...

Что лучше: один логин или много
Всем привет. Ситуация такая. Есть mssql 2012 server. К нему подсоединяюсь через...

Запрос UAC один раз
Возможно ли сделать так, чтобы программа на шарпе запросила UAC один раз при...

Один запрос к нескольким базам Access
Связать в 1 аксес базе несколько таблиц не проблема "SELECT * FROM `tab1`...

2
Rififi
2363 / 1056 / 104
Регистрация: 03.05.2009
Сообщений: 2,656
03.08.2009, 00:56 #2
хотя 45 тысяч строк - это смешное значение для mysql, oracle, ms, pg... - для любой мало-мальски приличной БД, не имеет смысла вытягивать на клиента кучу ненужных данных, тем более это может быть тонкий клиент.
0
Green
1919 / 424 / 40
Регистрация: 12.07.2007
Сообщений: 2,062
Завершенные тесты: 2
03.08.2009, 02:16 #3
Это вопрос нагрузки на сервер БД. Если клиентов не много и данные в таблице могут меняться, тогда лучше вытаскивать малыми порциями.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.08.2009, 02:16

Запрос возвращает один столбец строкового типа...
Всем привет. Хотел данные запроса записать в массив, но что-то не получается....

Две фильтрации по разным столбцам объединить в один запрос с помощью оператора and
Здравствуйте. Я работаю с FireBird подключённому к MVS 2010 и у меня проблема в...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru