|
Блокировка потоков
|
|||
---|---|---|---|
#18+
Андрей Панфилов, Ну, во первых мы о локальной среде а не продуктовой. Во вторых, инструмент специально создан чтобы не тормозить осн код. А про Flame графики я согласен что они оригинальны. Но ведь это собирательное название? Инструмент то какой например выдаст график? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2021, 14:56 |
|
Блокировка потоков
|
|||
---|---|---|---|
#18+
Удаленную отладку предлагаю не рассматривать. ТС новичок) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2021, 14:58 |
|
Блокировка потоков
|
|||
---|---|---|---|
#18+
"Хоспидя..." Агента для удалённой отладки даже я запускал, когда это требовалось разработчику. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2021, 15:00 |
|
Блокировка потоков
|
|||
---|---|---|---|
#18+
Basil A. Sidorov "Хоспидя..." Агента для удалённой отладки даже я запускал, когда это требовалось разработчику. ТС никак кнопу Стоп не нажмет и стек сюда не покажет. ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2021, 15:03 |
|
Блокировка потоков
|
|||
---|---|---|---|
#18+
Андрей Панфилов, Посмотрел профилировщик для графика вида Flame. https://github.com/jvm-profiling-tools/async-profiler/ Получается он Не для винды( ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2021, 15:28 |
|
Блокировка потоков
|
|||
---|---|---|---|
#18+
mayton По разному. Там кажется зависит от опций ResultSet. У меня даже был баг когда jdbc драйвер PG вызывал OOM Exception. AFAIK только целиком Есть вариант, когда одна SQL-инструкция бьется на несколько и явно на сервер отсылаются server-side cursor команды OPEN, FETCH etc... НО это как раз то исключение, которое только подтверждает правило, что никаких "выдавать в сеть строки row-by-row." нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2021, 17:39 |
|
Блокировка потоков
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev Есть вариант, когда одна SQL-инструкция бьется на несколько и явно на сервер отсылаются server-side cursor команды OPEN, FETCH etc... НО это как раз то исключение, которое только подтверждает правило, что никаких "выдавать в сеть строки row-by-row." нет. да ладно... https://jdbc.postgresql.org/documentation/head/query.html#fetchsize-exampleBy default the driver collects all the results for the query at once. This can be inconvenient for large data sets so the JDBC driver provides a means of basing a ResultSet on a database cursor and only fetching a small number of rows. A small number of rows are cached on the client side of the connection and when exhausted the next block of rows is retrieved by repositioning the cursor. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2021, 17:44 |
|
Блокировка потоков
|
|||
---|---|---|---|
#18+
Андрей Панфилов Leonid Kudryavtsev Есть вариант, когда одна SQL-инструкция бьется на несколько и явно на сервер отсылаются server-side cursor команды OPEN, FETCH etc... НО это как раз то исключение, которое только подтверждает правило, что никаких "выдавать в сеть строки row-by-row." нет. да ладно... https://jdbc.postgresql.org/documentation/head/query.html#fetchsize-exampleBy default the driver collects all the results for the query at once. This can be inconvenient for large data sets so the JDBC driver provides a means of basing a ResultSet on a database cursor and only fetching a small number of rows. A small number of rows are cached on the client side of the connection and when exhausted the next block of rows is retrieved by repositioning the cursor. Ровно то, о чем я и говорил! a means of basing a ResultSet on a database cursor одна SQL-инструкция бьется на несколько и явно на сервер отсылаются server-side cursor команды OPEN, FETCH etc... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2021, 18:07 |
|
Блокировка потоков
|
|||
---|---|---|---|
#18+
одна команда = один ответ Никакого row-by-row на транспортном уровне PostgreSQL не умеет. В полном отличие от Oracle, где наоборот, проблема с производительность может быть именно из-за row-by-row и приходится делать batch/fetch size ))) AFAIK ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2021, 18:10 |
|
Блокировка потоков
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, чет я все равно не догнал: вот есть БД, мы с ней по tcp/ip общаемся, чтобы она нам новую строку отдала, нам же нужно как-то ее об этом спросить, сама же она об этом не догадается, разве нет? Значит нужно какой-то RPC слать, а как он называется не особо интересно. Вон в оракле пишут что оно по 10 строк отдает по умолчанию: https://docs.oracle.com/cd/E18283_01/java.112/e16548/resltset.htmBy default, when Oracle JDBC runs a query, it retrieves a result set of 10 rows at a time from the database cursor. This is the default Oracle row fetch size value. You can change the number of rows retrieved with each trip to the database cursor by changing the row fetch size value. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2021, 20:42 |
|
Блокировка потоков
|
|||
---|---|---|---|
#18+
Андрей Панфилов, Ну типо так https://docs.microsoft.com/ru-ru/sql/ado/reference/ado-api/cachesize-property-ado?view=sql-server-ver15 Продвигаясь в цикле в коде по одной драйвер берет сразу несколько. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2021, 20:58 |
|
Блокировка потоков
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, ну, в Oracle и PostgreSQL точно также, просто в первом размер чанка 10 по-умолчанию, а во втором по умолчанию выгребает все что можно. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2021, 21:01 |
|
Блокировка потоков
|
|||
---|---|---|---|
#18+
Андрей Панфилов, Все что можно неудобно. У меня код стоял на открытии запроса 30 сек. И все висело. Пока шло по сети. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2021, 21:09 |
|
|
start [/forum/topic.php?fid=59&msg=40063968&tid=2120472]: |
0ms |
get settings: |
4ms |
get forum list: |
5ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
44ms |
get topic data: |
3ms |
get forum data: |
1ms |
get page messages: |
228ms |
get tp. blocked users: |
0ms |
others: | 276ms |
total: | 563ms |
0 / 0 |