
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
15.09.2005, 17:14
|
|||
|---|---|---|---|
|
|||
(PERL&Oracle) как узнать сколько записей вернул запрос SELECT |
|||
|
#18+
Как в perl узнать сколько записей вернул запрос SELECT ($sth->execute;). Используется oracle и DBI. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.09.2005, 09:49
|
|||
|---|---|---|---|
(PERL&Oracle) как узнать сколько записей вернул запрос SELECT |
|||
|
#18+
Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.09.2005, 10:45
|
|||
|---|---|---|---|
|
|||
(PERL&Oracle) как узнать сколько записей вернул запрос SELECT |
|||
|
#18+
Понятно, значит после выполнение sth->execute нигде не содержится сколько всего записей. Узнавать это кол-во или дополнительным запросом или написать функцию для подсчёта perl-ом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.09.2005, 10:47
|
|||
|---|---|---|---|
(PERL&Oracle) как узнать сколько записей вернул запрос SELECT |
|||
|
#18+
совершенно верно, в Oracle так и есть... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.09.2005, 12:00
|
|||
|---|---|---|---|
|
|||
(PERL&Oracle) как узнать сколько записей вернул запрос SELECT |
|||
|
#18+
Fen1Понятно, значит после выполнение sth->execute нигде не содержится сколько всего записей. Узнавать это кол-во или дополнительным запросом или написать функцию для подсчёта perl-ом. странно, вообще если ты делаеш селект, то логично былоб предположить что возвращаемые данные ты таки куда то начитываеш, а размер того куда ты это зачитал в перле узнать не проблемма.... Тоесть узнать размер массива в перле не составит труда ( это если fetchall_arrayref делать ), другое дело что данных возвращаемых запросом может быть несколько больше чем памяти, в этом случае додсчет в цикле ( fetchrow_arrayref или чегото подобного возвращающего по односй строке ) строк должен спасти отца русской демократии, в обоих случаях чтобы узнать количество отданных данных эти данные надо пропустить через перловый скрипт. Делать отдельный запрос к БД для подсчета строк несколько не корректно по причине того что во первых это некоторый оверхеад, а во вторых ни кто н гарантирует что результат будет таким же ( если конечно не лочить таблици и пр... ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.09.2005, 12:08
|
|||
|---|---|---|---|
(PERL&Oracle) как узнать сколько записей вернул запрос SELECT |
|||
|
#18+
Пройдитесь поиском по форуме Oracle, это тема не раз обсуждалась. автор во первых это некоторый оверхеад по какой причине?? count(*) возращает результат мгновенно, хоть по 1 милиону записей запрос, т.к. count(*) не возращает никакие данные из таблицы. автор а во вторых ни кто н гарантирует что результат будет таким же об этом автор не спрашивал ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.09.2005, 12:16
|
|||
|---|---|---|---|
|
|||
(PERL&Oracle) как узнать сколько записей вернул запрос SELECT |
|||
|
#18+
Николай aka MotodorПройдитесь поиском по форуме Oracle, это тема не раз обсуждалась. автор во первых это некоторый оверхеад по какой причине?? count(*) возращает результат мгновенно, хоть по 1 милиону записей запрос, т.к. count(*) не возращает никакие данные из таблицы. данных может и не возвращает но данные таки читает, а скорость скорее всего обусловленна тем что кеши работают хорошо, тоесть по сути select * from table и потом следом select count(*) from table просто пробежится по закешированным данным отсюда и `мгновенность` ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.09.2005, 13:06
|
|||
|---|---|---|---|
(PERL&Oracle) как узнать сколько записей вернул запрос SELECT |
|||
|
#18+
авторselect * from table и потом следом select count(*) from table просто пробежится по закешированным данным отсюда и `мгновенность попробуйте выполнить count(*) до и после выполнения селекта, результат будет один... принцип работы count(*) другой ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.09.2005, 19:46
|
|||
|---|---|---|---|
(PERL&Oracle) как узнать сколько записей вернул запрос SELECT |
|||
|
#18+
Думаю, и в Оракле count(*) считается по первичному ключу таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=23&mobile=1&tid=1477595]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
167ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
27ms |
get tp. blocked users: |
1ms |
| others: | 191ms |
| total: | 413ms |

| 0 / 0 |
