|
|
|
Что выполнится быстрее
|
|||
|---|---|---|---|
|
#18+
Господа, доброго дня, хотел бы узнать ответ на вопрос если не затруднит, желательно подробный на тему "Что выполнится быстрее", вопрос быть может довольно глупый, но всё же, будьте добрый дайте ответ. Есть таблица скажем со 100 тысячами записей, что теоретически будет выполнятся быстрее - суммирование (sum) по полю цена в рамках SQL запроса, либо возращение всех этих 100-тысяч записей на сторону клиента и перебор в цикле там? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2014, 05:35 |
|
||
|
Что выполнится быстрее
|
|||
|---|---|---|---|
|
#18+
whizzzkeyГоспода, доброго дня, хотел бы узнать ответ на вопрос если не затруднит, желательно подробный на тему "Что выполнится быстрее", вопрос быть может довольно глупый, но всё же, будьте добрый дайте ответ. Есть таблица скажем со 100 тысячами записей, что теоретически будет выполнятся быстрее - суммирование (sum) по полю цена в рамках SQL запроса, либо возращение всех этих 100-тысяч записей на сторону клиента и перебор в цикле там? Какие еще подробности, суммируя на стороне сервера по крайней мере избавляешься от трафика по перебросу данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2014, 06:54 |
|
||
|
Что выполнится быстрее
|
|||
|---|---|---|---|
|
#18+
whizzzkey,мой ХШ показывает белый туман,т.к. не понятно как будет передаваться на клиент (если это GPRS то будет априори дольше) + мне непонятно как ты в перебором в цикле собрался сумму считать + страшная картина - 50 усеров пытаются узнать сумму по таблице >млн. Делай на сервере,не парь голову. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2014, 06:58 |
|
||
|
Что выполнится быстрее
|
|||
|---|---|---|---|
|
#18+
Gallemar, "не понятно как будет передаваться на клиент (если это GPRS то будет априори дольше)" - Серв по лану "мне непонятно как ты в перебором в цикле собрался сумму считать" - просто же, я получил массив записей простым селектом, далее бегу по этому массиву и суммирую по какому-то полю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2014, 08:27 |
|
||
|
Что выполнится быстрее
|
|||
|---|---|---|---|
|
#18+
whizzzkeyпросто же, я получил массив записей простым селектом, далее бегу по этому массиву и суммирую по какому-то полю.Не стоит тырить подходы индийских программистов :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2014, 08:28 |
|
||
|
Что выполнится быстрее
|
|||
|---|---|---|---|
|
#18+
Kirill Razuvaev, Согласен, но сугубо в теории? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2014, 08:47 |
|
||
|
Что выполнится быстрее
|
|||
|---|---|---|---|
|
#18+
- Давай построим несколько рабочих версий. - Давай. Тем более, что из всех известных мне видов строительства этот - самый простой и необременительный. Братья Вайнеры, "Гонки по вертикали". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2014, 08:55 |
|
||
|
Что выполнится быстрее
|
|||
|---|---|---|---|
|
#18+
whizzzkey, чисто физически - для подсчета sum сервер переберет все страницы с этими 100к записиями , и отдаст результат клиенту. Объем ввода-вывода с диском будет N (какое-то количество страниц считается с диска) - для выдачи клиенту 100к записей сервер переберет все страницы с этими 100к записями . То есть, объем ввода-вывода с диском будет тоже N. Однако, при переборе страниц с данными сервер будет еще посылать пакеты с записями клиенту, что по времени явно не 0. Значит, это будет дополнительное время. Таким образом, передать 100к записей по сети будет медленее, чем посчитать их на сервере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2014, 11:32 |
|
||
|
Что выполнится быстрее
|
|||
|---|---|---|---|
|
#18+
whizzzkeyсуммирование (sum) по полю ценафизический смысл сего действа от меня ускользает... суммирование кол-ва я пониманию, семмирования кол-во*цена тоже, но чтоб складывать цены это что-то новое. :) А если по закрытым периодам данные агрегировать один раз и хранить в сторонке, и потом не напрягать сервер тупыми пересчетами то будет еще на пару порядков быстрее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2014, 11:54 |
|
||
|
Что выполнится быстрее
|
|||
|---|---|---|---|
|
#18+
Ivan_PisarevskyА если по закрытым периодам данные агрегировать один разНе всегда существуют закрытые периоды, да и значительная часть отчетов затрагивает обычно как раз открытые приоды... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2014, 15:00 |
|
||
|
Что выполнится быстрее
|
|||
|---|---|---|---|
|
#18+
Kirill RazuvaevНе всегда существуют закрытые периоды, да и значительная часть отчетов затрагивает обычно как раз открытые приоды...не везде можно задействовать хранимые агрегаты, но где можно, там нагрузка на сервер может быть уменьшено ОЧЕНЬ существенно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2014, 15:05 |
|
||
|
Что выполнится быстрее
|
|||
|---|---|---|---|
|
#18+
Ivan_Pisarevsky, Давайте просто возьмем - есть одна таблица с кажем с ценами, ну не с ценами если слово цена вас не устраивает, то пусть будет с суммами, пускай будет таблица скажем заказов с суммами, имеем 100 тысяч записей этих заказов, необходимо посчитать TOTAL, вопрос - этот TOTAL быстрее посчитать на сервере и вернуть клиенту по сети ОДНУ ЗАПИСЬ с результатом, либо передать клиенту все 100 тысяч записей и далее считать TOTAL средствами клиента? Буду благодарен если ответите с обоснованием. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2014, 01:26 |
|
||
|
Что выполнится быстрее
|
|||
|---|---|---|---|
|
#18+
whizzzkeyпускай будет таблица скажем заказов с суммами, имеем 100 тысяч записей этих заказов Не бывает в природе. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2014, 01:40 |
|
||
|
Что выполнится быстрее
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Я понимаю что не бывает, я во первых пытаюсь подстроить максимально под свой случай, а случай у меня такой что заместо заказов у меня пенсии на всю область, а их таки бывает 200 тысяч ежемесячно, во вторых - мне интересно теоретическое обоснование и ваше мнение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2014, 01:45 |
|
||
|
Что выполнится быстрее
|
|||
|---|---|---|---|
|
#18+
kdv, Благодарю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2014, 01:50 |
|
||
|
Что выполнится быстрее
|
|||
|---|---|---|---|
|
#18+
whizzzkeyпытаюсь подстроить максимально под свой случай Ну так и говори про свой случай, а не сферического коня в вакууме. Если ты эти 200 тысяч получателей печатаешь одним списком в ведомости, то, конечно, считать на клиенте проще и выгоднее. А если только сводную цифру "выплачено за месяц ХХХХХХХХ", то ровно наоборот. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2014, 01:59 |
|
||
|
Что выполнится быстрее
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Вот я вас и прошу пожалуйста обосновать подробно, сервер не удаленный, локальный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2014, 02:12 |
|
||
|
Что выполнится быстрее
|
|||
|---|---|---|---|
|
#18+
whizzzkeyDimitry Sibiryakov, Вот я вас и прошу пожалуйста обосновать подробно, сервер не удаленный, локальный. И не надоело тебе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2014, 06:21 |
|
||
|
Что выполнится быстрее
|
|||
|---|---|---|---|
|
#18+
whizzzkeyВот я вас и прошу пожалуйста обосновать подробно, сервер не удаленный, локальный.Приехал папа с сыночком-дауном к морю. Идут по берегу. Сынок, мотая головой и пуская слюни: "Папа, а где море?". Папа: "Вот, сынок, видишь - водичка плещется, рыбки плавают, это и есть море." Сынок, пуская слюни: "Папа, а где море?". Папа:"Да вот же, сынуля, параходик плавет, чайки летают, песочек желтенький - это и есть море." Сынок: "Папа, а где море?" У папы не выдерживают нервы, он берет сына за шиворот и тычет мордой в морскую воду: "Вот! Вот! Вот море!!!" Сынок: "Папа-а-а, а что это было?" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2014, 14:19 |
|
||
|
Что выполнится быстрее
|
|||
|---|---|---|---|
|
#18+
whizzzkeyсервер не удаленный, локальный. в этом случае сети как бы нет, передача данных от сервера к клиенту будет побыстрее, но все равно не будет бесплатной с точки зрения времени. Я не знаю, почему вы такие вопросы задаете, возможно вы просто не представляете себе как работают программы с памятью, с диском, с сетью и т.п. При этом ничего тут сложного нет, все на уровне "школьных знаний", если так можно выразиться. Причем, задача "посчитать 100к записей на клиенте" имеет 2 варианта реализации. Если данные не надо показывать, а только результат подсчета суммы, то нужно использовать "небуферизирующий датасет" (например, см. ibsql в IBX ). Если датасет будет буферизирующий (IBDataSet, IBQuery), то записи полезут в память приложения, и будут там торчать, пока вы не закроете этот датасет. Сколько все это будет занимать в памяти, можно легко проверить - дать выборку этих ваших 100к записей в IBExpert (fetchall). Нет 100к записей? Их легко сгенерить, заполнить случайными данными. Если и приложение и сервер будут локальными, значит и сервер и приложение в последнем случае будут потреблять память. И т.д., и т.п. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2014, 15:16 |
|
||
|
Что выполнится быстрее
|
|||
|---|---|---|---|
|
#18+
Да закройте этот цирк уже. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2014, 15:45 |
|
||
|
Что выполнится быстрее
|
|||
|---|---|---|---|
|
#18+
Hello, Гаджимурадов Рустам! You wrote on 17 декабря 2014 г. 15:56:48: Гаджимурадов Рустам> Да закройте этот цирк уже. +1 Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2014, 15:58 |
|
||
|
Что выполнится быстрее
|
|||
|---|---|---|---|
|
#18+
Ivan_PisarevskywhizzzkeyВот я вас и прошу пожалуйста обосновать подробно, сервер не удаленный, локальный.Приехал папа с сыночком-дауном к морю. Идут по берегу. Сынок, мотая головой и пуская слюни: "Папа, а где море?". Папа: "Вот, сынок, видишь - водичка плещется, рыбки плавают, это и есть море." Сынок, пуская слюни: "Папа, а где море?". Папа:"Да вот же, сынуля, параходик плавет, чайки летают, песочек желтенький - это и есть море." Сынок: "Папа, а где море?" У папы не выдерживают нервы, он берет сына за шиворот и тычет мордой в морскую воду: "Вот! Вот! Вот море!!!" Сынок: "Папа-а-а, а что это было?" Давай ещё ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2014, 16:08 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38834692&tid=1563135]: |
0ms |
get settings: |
9ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
208ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
70ms |
get tp. blocked users: |
2ms |
| others: | 209ms |
| total: | 542ms |

| 0 / 0 |
