Модераторы: gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вопрос на собеседовании, СЛОЖНЫЙ! 
V
    Опции темы
Ch0bits
  Дата 16.5.2006, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Python Dev.
****


Профиль
Группа: Завсегдатай
Сообщений: 2124
Регистрация: 21.2.2005
Где: Казань

Репутация: нет
Всего: 62



На собеседовании в трансконтинентальной корпорации мирового масштаба меня спросили:
Если по запросу передаются данные очень большого размера, то что делать?
Например, как передать на КПК 10Gb данных? 
PM WWW   Вверх
nikitao
Дата 16.5.2006, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кот-программист
***


Профиль
Группа: Завсегдатай
Сообщений: 1206
Регистрация: 30.8.2005
Где: Спб

Репутация: 1
Всего: 26



Через протокол FTP вроде как. А прчем тут NET (или это в контексте)? 


--------------------
Жизнь - печальная штука.
PM MAIL ICQ Skype GTalk   Вверх
Exception
Дата 16.5.2006, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 2
Всего: 186



Модератор: Название темы должно отражать ее суть!

А вообще, не въехал smile 
PM   Вверх
Ch0bits
Дата 16.5.2006, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Python Dev.
****


Профиль
Группа: Завсегдатай
Сообщений: 2124
Регистрация: 21.2.2005
Где: Казань

Репутация: нет
Всего: 62



Цитата(Exception @  16.5.2006,  18:44 Найти цитируемый пост)
А вообще, не въехал

Вот в том то и прикол!  smile 
Как в КПК вообще столько поместится? Допустим мы хотим получить данные из базы данных на удалённом сервере. Устанавливаем соединение, пишем запрос, отправляем на сервер и... он возвращает 10 Gb данных... на КПК!!! Все эти данные надо показать в гриде, но для этого надо иметь широченный канал и огромный размер оперативки на КПК, ведь ADO.NET всё держит в памяти.
Главное что решение этой проблемы ЕСТЬ!  

Это сообщение отредактировал(а) Ch0bits - 16.5.2006, 19:01
PM WWW   Вверх
arilou
Дата 17.5.2006, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 4
Всего: 61



Цитата(Ch0bits @  16.5.2006,  19:00 Найти цитируемый пост)
Главное что решение этой проблемы ЕСТЬ!  

Не может быть, чтобы показать все сразу. Скорее всего речь идет о том, чтобы эмулировать показ всего, а на самом деле иметь виртуальный список, который подгружает по мере необходимости новые записи с сервера, и выгружает то, что уже не видно. Тада хоть 100 ГБ  smile  


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
Ch0bits
Дата 17.5.2006, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Python Dev.
****


Профиль
Группа: Завсегдатай
Сообщений: 2124
Регистрация: 21.2.2005
Где: Казань

Репутация: нет
Всего: 62



У меня ещё была идея, что данные с сервера можно получить в xml и сохранить их на диске, а потом читать фрагментами с помощью XmlDocument. Но это тоже какая-то сомнительная идея.  smile 
 
PM WWW   Вверх
Exception
Дата 17.5.2006, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 2
Всего: 186



Интересно, как ты на диске сохранишь XML в 10 ГБ. 
PM   Вверх
mr.DUDA
Дата 18.5.2006, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 8
Всего: 232



Грузить только те записи, которые нужны, TOP-ом по 100 записей за раз. Чтобы выдрать 100 записей из середины таблицы, например после Id=1000, делаем так: SELECT TOP 100 ... WHERE Id > 1000 ORDER BY Id, типа того.

Добавлено @ 11:24 
З.Ы, а вообще-то при больших объёмах данных используют датаридеры вместо датасетов. 


--------------------
user posted image
PM MAIL WWW   Вверх
Ch0bits
Дата 18.5.2006, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Python Dev.
****


Профиль
Группа: Завсегдатай
Сообщений: 2124
Регистрация: 21.2.2005
Где: Казань

Репутация: нет
Всего: 62



mr.DUDA
О великий учитель хакеров! В очередной раз падаю пред тобой на колени!  smile 
 smile  
PM WWW   Вверх
Softaz
Дата 22.5.2006, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


wasm
**


Профиль
Группа: Участник
Сообщений: 373
Регистрация: 16.1.2006

Репутация: 4
Всего: 16



dataAdapter.Fill(dataSet, (pageNum - 1) * pageSize, pageSize, tableName);

pageSize –число строк на странице; pageNum – номер страницы, начиная с 1.


Либо через TOP (* заменить на нужные поля)

SELECT * FROM tableName WHERE keyName IN
    (SELECT TOP pageSize keyName FROM tableName WHERE keyName IN
        (SELECT TOP pageSize * pageNum keyName FROM tableName
            ORDER BY keyName)
        ORDER BY keyName DESC)
ORDER BY keyName

Только эти вложенные запросы не эффективны при больших таблицах (тысячи строк)

Более подробно можно найти здесь: http://dotnet2themax.com/goto/programmingvbnet.aspx
в книге Programming Microsoft Visual Basic .NET
 


--------------------
Разочарованный в .NET
PM MAIL WWW   Вверх
skyboy
Дата 22.5.2006, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



А можно использовать 
Код

LIMIT <last_number>,<count>
 или это мои глюки? smile Постепенно увеличивать <last_number> и получить по порциям любое количество... 
PM MAIL   Вверх
Exception
Дата 22.5.2006, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 2
Всего: 186



Какая разница? Мы ведь за ООП:


Цитата(Softaz @  22.5.2006,  17:05 Найти цитируемый пост)
dataAdapter.Fill(dataSet, (pageNum - 1) * pageSize, pageSize, tableName);


 smile  
PM   Вверх
Softaz
Дата 23.5.2006, 01:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


wasm
**


Профиль
Группа: Участник
Сообщений: 373
Регистрация: 16.1.2006

Репутация: 4
Всего: 16



Имелась ввиду перегрузка метода  smile 


Цитата(skyboy @  22.5.2006,  16:51 Найти цитируемый пост)
LIMIT <last_number>,<count>

Пытался сделать (ACCESS) - нету smile А вещь хорошая.
Может альтернатива есть 


--------------------
Разочарованный в .NET
PM MAIL WWW   Вверх
aXisdn
Дата 10.6.2006, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 10.6.2006

Репутация: нет
Всего: нет



Цитата

На собеседовании в трансконтинентальной корпорации мирового масштаба меня спросили:
Если по запросу передаются данные очень большого размера, то что делать?
Например, как передать на КПК 10Gb данных? 


вроде бы курсоры для этого придуманы 
PM MAIL   Вверх
Softaz
Дата 10.6.2006, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


wasm
**


Профиль
Группа: Участник
Сообщений: 373
Регистрация: 16.1.2006

Репутация: 4
Всего: 16



Цитата(aXisdn @  10.6.2006,  16:13 Найти цитируемый пост)
На собеседовании в трансконтинентальной корпорации мирового масштаба меня спросили:
Если по запросу передаются данные очень большого размера, то что делать?
Например, как передать на КПК 10Gb данных? 


В MSSQL 2005 появилясь функция Row_Number() для постраничного извлечения данных.

Код

SELECT Row_Number() OVER (ORDER BY OrderDate DESC) AS RowNum,
             SalesOrderID, CustomerID, OrderDate
FROM    Sales.SalesOrderHeader
WHERE RowNum between 101 and 120
ORDER BY OrderDate DESC


 


--------------------
Разочарованный в .NET
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.1056 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.