|
|
|
ResultSet
|
|||
|---|---|---|---|
|
#18+
Когда мы получаем ResulSet - то в него качаются все данные удовлетворяющие селекту или локально в БД создается курсой и данные подкачиваются только при Get методах? Поясните пожалуйста! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2005, 15:01 |
|
||
|
ResultSet
|
|||
|---|---|---|---|
|
#18+
User9Когда мы получаем ResulSet - то в него качаются все данные удовлетворяющие селекту или локально в БД создается курсой и данные подкачиваются только при Get методах? Поясните пожалуйста! Качаются в объект резултСет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2005, 15:05 |
|
||
|
ResultSet
|
|||
|---|---|---|---|
|
#18+
зависит от реализации. Как правило получет от сервера одну строку в момент rs.next() и по методам get отдает. Но все зависит от сервера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2005, 15:48 |
|
||
|
ResultSet
|
|||
|---|---|---|---|
|
#18+
Евгений Путилинзависит от реализации. Как правило получет от сервера одну строку в момент rs.next() и по методам get отдает. Но все зависит от сервера. rs содержит в себе выборку после выполнения ResultSet rs=stat.executeQuery(); ,а rs.next() служит для их перебора ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2005, 16:03 |
|
||
|
ResultSet
|
|||
|---|---|---|---|
|
#18+
peter6636rs содержит в себе выборку после выполнения ResultSet rs=stat.executeQuery(); ,а rs.next() служит для их перебора ты уверен в этом? Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2005, 16:05 |
|
||
|
ResultSet
|
|||
|---|---|---|---|
|
#18+
excecuteQuery открывает неявный курсор, а next - его фетчит. Сколько строк выгребается с сервера - это зависит от реализации драйвера. Обычно - это небольшое число в разумных пределах оперативки. Кто в этом сомневается - попробуйте поселектить отчет на пару-тройку миллионов строк и понаблюдайте за сетевым трафииком и использованием памяти на стороне клиента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2005, 16:16 |
|
||
|
ResultSet
|
|||
|---|---|---|---|
|
#18+
mayton excecuteQuery открывает неявный курсор, а next - его фетчит. Сколько строк выгребается с сервера - это зависит от реализации драйвера. Обычно - это небольшое число в разумных пределах оперативки. Кто в этом сомневается - попробуйте поселектить отчет на пару-тройку миллионов строк и понаблюдайте за сетевым трафииком и использованием памяти на стороне клиента. может я чего-то не доганяю,но причем тут :"Сколько строк выгребается с сервера - это зависит от реализации драйвера", ведь все зависит от запроса, если у меня в базе 20 строк и я делаю select * from table, он мне выдаст 20 строк не зависимо от того какой драйвер я используется,или как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2005, 16:25 |
|
||
|
ResultSet
|
|||
|---|---|---|---|
|
#18+
peter6636 mayton excecuteQuery открывает неявный курсор, а next - его фетчит. Сколько строк выгребается с сервера - это зависит от реализации драйвера. Обычно - это небольшое число в разумных пределах оперативки. Кто в этом сомневается - попробуйте поселектить отчет на пару-тройку миллионов строк и понаблюдайте за сетевым трафииком и использованием памяти на стороне клиента. может я чего-то не доганяю,но причем тут :"Сколько строк выгребается с сервера - это зависит от реализации драйвера", ведь все зависит от запроса, если у меня в базе 20 строк и я делаю select * from table, он мне выдаст 20 строк не зависимо от того какой драйвер я используется,или как? Дело в том что он может сгенерить курсор на базе и все! А дальше давать по кусочкам по требованию! Например ты говоришь рс.некст , тогда из курсора вытаскивается строка и физически заполняет очередную строку резултсета. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2005, 16:31 |
|
||
|
ResultSet
|
|||
|---|---|---|---|
|
#18+
peter6636 ...ведь все зависит от запроса, если у меня в базе 20 строк и я делаю select * from table, он мне выдаст 20 строк не зависимо от того какой драйвер я используется,или как? Совершенно верно. Он выдаст вам 20 строк. Но если у вас таблица будет побольше, драйвер организует конвейер и будет понемногу выдавать вам строки. В противном случае, все клиентские машины выполняли-бы роль серверов БД. Вспоминаю случай из практики. Одна тётка жаловалась, что клиентское приложение (под СУБД Oracle) жутко тормозит при получинии отчета на последний месяц. Разборки на строне сервера ни к чему не привели. Код был безупречен и оптимизации не требовал. Пошли посмотреть как она получает отчет. Оказывается, эта ненормальная выгребала отчет по услугам за последние 5 лет (!!), сортировала его в обратном порядке по дате услуги и спокойненько смотрела 10-20 первых строчек. Представляете какой нагруз на бедного клиента, который еле пыхтел на Первом Пне с 64 метрами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2005, 16:37 |
|
||
|
|

start [/forum/topic.php?fid=59&gotonew=1&tid=2151607]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
7ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 217ms |
| total: | 335ms |

| 0 / 0 |
