|
|
|
JTable и большие выборки
|
|||
|---|---|---|---|
|
#18+
Не знаю, прав ли я, но мне сразу показалось, что если решать данную проблему чисто техническими средствами, то общего решения здесь и не будет. Мнение многих, как я вижу, это только подтверждает: где-то все можно решить организационными мерами, что-то свести во временные таблицы, где-то провести денормализацию и т.д. и т.п. Именно поэтому у меня и возникла идея фикс - поскольку проблема на стыке человек ( с его оценкой объема нужных данных) - система, то попытаться решить ее, хотя бы от части, с позиции учета человеческой психологии. Однако, что-то ничего разумного у меня не вышло, отсюда я и прихожу к выводу, что напрасно морочу всем голову, ну, или нужен гуру в GUI, или надо самому почитать учебники по психологии. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2005, 16:20:15 |
|
||
|
JTable и большие выборки
|
|||
|---|---|---|---|
|
#18+
Хренчем тоньше клиент, тем толще сервер ;-) Может вам хранимку написать на сервере в которой в качестве параметра передается запрос, она его выполняет, результат записывает во временную таблицу и возвращает имя временной таблицы и количество 'affected' записей? Хрен, ну а я блин не то же самое предложил? По-моему, неплохая мысль. Ну и что, что сотня клиентов: 1) не все же они разом произвольные запросы зарядят, 2) ну и пусть одновременно несколько процедурин крутятся, что тут смертельного? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2005, 18:50:13 |
|
||
|
JTable и большие выборки
|
|||
|---|---|---|---|
|
#18+
Linerв догонку, может поможет если оракл у вас, то можно оптимизировать средствами СУБД тут могу наврать в теории только видел, не бейте сильно но вроде там есть возможность разделять таблицы на партиции по каким-то определенным критериям (например данные за 5 лет разделили по году), логически у тебя будет одна таблица - физически несколько, если параметры запроса например попадают в заданные критерии - анализ в пределах 1 года данных, будет обрабатывать только одну выделенную табличку, там есть еще матриализованные представления и т.д. Правильно называется все это дело "секционирование". У Тома Кайта "Oracle для профессионалов" это хорошо описано (во 2 томе). Кроме того есть такие вещи как Аналитические функции и соответственно индексы по ним. Поэто му если это все учесть то тот же вызов Count() будет не критичным по производительности (хотя конечно, без него было бы приятнее решить вопрос :) ). Ну естественно это есть в Oracle, в других СУБД возможно тоже стоит поискать похожие механизмы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2007, 18:23:24 |
|
||
|
JTable и большие выборки
|
|||
|---|---|---|---|
|
#18+
Denis Popov Если это Oracle, то можно добавить поле, в котором через аналитическую функцию считать общее количество записей. Infidel Кроме того есть такие вещи как Аналитические функции и соответственно индексы по ним. Поэто му если это все учесть то тот же вызов Count() будет не критичным по производительности (хотя конечно, без него было бы приятнее решить вопрос :) ). Ну естественно это есть в Oracle, в других СУБД возможно тоже стоит поискать похожие механизмы. Щас проверил, добавление count(*) over() запрос практически не замедляет. Чего вам это решение не подходит? Хотя, у вас может и не оракл:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2007, 11:48:28 |
|
||
|
JTable и большие выборки
|
|||
|---|---|---|---|
|
#18+
Ребята вы через два года ввязываетесь в дискуссию, не позновато? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2007, 11:59:52 |
|
||
|
JTable и большие выборки
|
|||
|---|---|---|---|
|
#18+
Своевременно или несколько позже :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2007, 12:03:52 |
|
||
|
JTable и большие выборки
|
|||
|---|---|---|---|
|
#18+
biomenЩас проверил, добавление count(*) over() запрос практически не замедляет. Чего вам это решение не подходит? Хотя, у вас может и не оракл:) такие тесты "наколенке" ваще полная мура. ЗЫ превед земляг ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2007, 12:29:28 |
|
||
|
JTable и большие выборки
|
|||
|---|---|---|---|
|
#18+
Конешно мура, нужно смотреть на конкретный запрос и сколько он возвращает. пы.сы. Превед и тебе:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2007, 14:52:41 |
|
||
|
JTable и большие выборки
|
|||
|---|---|---|---|
|
#18+
Спасиб товарищам, что возобновили тему. Такого я ещё не читал. Честно говоря, чтение вызвало здоровый детский смех. Хохотал вплоть до NotGonnaGetUs В TOAD интересно сделано. Когда смотришь содержимое таблички, то показывается скроллБар и пронумерованные строчки с данными. Чем больше откручиваешь вниз, тем большие номера начинают отображаться и тем меньше становится бегунок скроллБара :) после этого, как говорят у нас в Албании, просто "пацтулом". Напомню, на дворе 2005 (по времени темы) год. Жанна Д'Арк уже сожжена, Римская Империя распалась. Уже придуманы всякие стремные, но работоспособные вещи в Client-Server технологиях. Но нет - мы не ищем легких решений...И даже не слышим про них!!! Кстати, будь человечек хоть немного "cоображабелен" в плане Oracle, выполнил бы explain plan, и получил бы cardinality. Мечта у меня есть. Собрать всех товарищей-программистов, которые начинали с Java + Desktop, на тот самый звездолёт (с которого они совершили высадку на эту планету), и отправить обратно на Тау Кита. Вместе с главными идеологами Swing. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2007, 21:06:37 |
|
||
|
JTable и большие выборки
|
|||
|---|---|---|---|
|
#18+
Н'да, обалдеть! Через такое время всплыла тема! Как сложно устроен мир - ничто не пропадает! :) Поделитесь секретом, как вы вообще её нашли?! :) Докладываю, тема (если внимательно почитать мой длиннющий первый пост) действительно лежала в области психологии и, увы, мои опасения подтвердились, пришлось все же пойти на компромиссы с обоих сторон. Секционирование таблиц и прочее здесь, т.е. в данном КОНКРЕТНОМ случае, не причем и ни от чего не спасает. Зато заставило задуматься предложение ввести индекс по аналитическим функциям - можно узнать, как это конкретно должно помочь? z Ну, вот, видите как хорошо, что вы посетили эту тему. Повеселиться, согласитесь, тоже не малого стоит. А теперь было бы неплохо, ну уж раз не получается всех на луну-то, показать собственную глубину познаний. :) Неа, я понимаю, все тут недостойны, да и время на нас тратить не охота, и всё равно не поймут, но вдруг?! Ну, например, объясните нам, как клиент-серверные технологии решают такой простой вопрос (только, пожалуйста, не отвлекайтесь, напоминаю, вопрос изложен в ПЕРВОМ посте). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2007, 09:52:21 |
|
||
|
JTable и большие выборки
|
|||
|---|---|---|---|
|
#18+
carperН'да, обалдеть! Через такое время всплыла тема! Как сложно устроен мир - ничто не пропадает! :) Поделитесь секретом, как вы вообще её нашли?! :) Докладываю, тема (если внимательно почитать мой длиннющий первый пост) действительно лежала в области психологии и, увы, мои опасения подтвердились, пришлось все же пойти на компромиссы с обоих сторон. Секционирование таблиц и прочее здесь, т.е. в данном КОНКРЕТНОМ случае, не причем и ни от чего не спасает. Зато заставило задуматься предложение ввести индекс по аналитическим функциям - можно узнать, как это конкретно должно помочь? z Ну, вот, видите как хорошо, что вы посетили эту тему. Повеселиться, согласитесь, тоже не малого стоит. А теперь было бы неплохо, ну уж раз не получается всех на луну-то, показать собственную глубину познаний. :) Неа, я понимаю, все тут недостойны, да и время на нас тратить не охота, и всё равно не поймут, но вдруг?! Ну, например, объясните нам, как клиент-серверные технологии решают такой простой вопрос (только, пожалуйста, не отвлекайтесь, напоминаю, вопрос изложен в ПЕРВОМ посте). Если вопрос был про кол-во записей, которое запрос возвратит - я уже написал (или Вы плохо читаете?). Если вопрос был про что-то другое (судя по топику, не все его поняли), тогда выражайтесь более ясно. Предполагаю, что проблема имеется именно с Lazy Fetch. То есть именно с той штукой, про которую уже имеются как минимум два десятка постов, и которую так обожает старина GrexHide. Я прав? Если да - то этой проблемы не существует ни в одной среде разработки, кроме Java и .NET. Поэтому "показать собственную глубину познаний" не могу - трудно демонстрировать аксиомы... (Кстати, проблема буферизованного фетча решается даже в Java буквально в 20 строчек, коряво, но решается) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2007, 14:13:37 |
|
||
|
JTable и большие выборки
|
|||
|---|---|---|---|
|
#18+
zПредполагаю, что проблема имеется именно с Lazy Fetch. То есть именно с той штукой, про которую уже имеются как минимум два десятка постов, и которую так обожает старина GrexHide. Я прав? Если да - то этой проблемы не существует ни в одной среде разработки, кроме Java и .NET. Поэтому "показать собственную глубину познаний" не могу - трудно демонстрировать аксиомы... (Кстати, проблема буферизованного фетча решается даже в Java буквально в 20 строчек, коряво, но решается)Просвяти же нас, как в божественной Delphi решили проблему буферизованного фетча раз и навсегда? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2007, 00:24:19 |
|
||
|
JTable и большие выборки
|
|||
|---|---|---|---|
|
#18+
zЕсли да - то этой проблемы не существует ни в одной среде разработки, кроме Java и .NET. На заметку вам - Java и .NET это совсем не среды разработки. Хотя после Delphi и ей подобных "языков с одной IDE" это сложно понять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2007, 09:38:41 |
|
||
|
JTable и большие выборки
|
|||
|---|---|---|---|
|
#18+
SvnshieПросвяти же нас, как в божественной Delphi решили проблему буферизованного фетча раз и навсегда? Думаю, дискуссия на тему наличия DataLink и понятия FetchAsNeeded тебя не устроит. В Java гораздо проще создавать свои равнокривые замены всему этому... Leonidv zЕсли да - то этой проблемы не существует ни в одной среде разработки, кроме Java и .NET. На заметку вам - Java и .NET это совсем не среды разработки. Хотя после Delphi и ей подобных "языков с одной IDE" это сложно понять. Молодой человек. Вы, похоже, только год как "переселились" с Delphi на Java, и вы уже делаете кому-то заметки? :) Тогда тоже замечу, что среда разработки состоит не только из IDE, но также из доступных, встроенных в ядро (желательно) библиотек, облегчающих жисть программистам. Вы такие вещи, например, в Java (по поводу DataBinding) нашли? P.S. Ну так и что же мне "сложно понять"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2007, 20:59:08 |
|
||
|
JTable и большие выборки
|
|||
|---|---|---|---|
|
#18+
И еще раз напомню по теме - видимо, перегрузка getRowCount() в TableModel с подсчетом кол-ва отфетченных записей не состоялась, что вполне адекватно показывает уровень понимания работы с той же JTable всех присутствующих. На сим раскланиваюсь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2007, 21:17:06 |
|
||
|
JTable и большие выборки
|
|||
|---|---|---|---|
|
#18+
zИ еще раз напомню по теме - видимо, перегрузка getRowCount() в TableModel с подсчетом кол-ва отфетченных записей не состоялась, что вполне адекватно показывает уровень понимания работы с той же JTable всех присутствующих. На сим раскланиваюсь... Последний раз, перегрузка "getRowCount() в TableModel с подсчетом кол-ва отфетченных записей", равно как и более сложные варианты рассматривались еще ДО задания вопроса. Ваше упорное желание признать всех неумными людьми одновременно с апломбом, мешающим выйти за пару прописных, хотя и не понятых, похоже, до конца приемов, вряд ли пойдут Вам на пользу. Впрочем, Вы ведь уже раскланялись. Как жаль, что Вы наконец-то уходите! :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2007, 10:19:27 |
|
||
|
JTable и большие выборки
|
|||
|---|---|---|---|
|
#18+
z Молодой человек. Вы, похоже, только год как "переселились" с Delphi на Java, и вы уже делаете кому-то заметки? :) Это имеет какое-то значение, тем более что вы не совсем правы? zТогда тоже замечу, что среда разработки состоит не только из IDE, IDE = Integrated Development Environment, интегрированная среда разработки (lingvo). Можете еще на wikipedia свои знания про IDE освежить. Ссылку, думаю, найдете. На заметку. На Delphi сложно, но можно писать вообще не запуская их IDE, а используя только компилятор. Если вы скачаете JDK, то с удивлением обнаружите отсутствие там какой-либо IDE. "Встроенные в ядро" я комментировать не буду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2007, 10:55:26 |
|
||
|
JTable и большие выборки
|
|||
|---|---|---|---|
|
#18+
> Если вы скачаете JDK, то с удивлением обнаружите > отсутствие там какой-либо IDE. "Встроенные в ядро" я комментировать > не буду. Тема Ответить Сообщение > а как же jdk + netbeans pack? он кстате идет первым в списке закачек Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2007, 11:08:32 |
|
||
|
JTable и большие выборки
|
|||
|---|---|---|---|
|
#18+
carper zИ еще раз напомню по теме - видимо, перегрузка getRowCount() в TableModel с подсчетом кол-ва отфетченных записей не состоялась, что вполне адекватно показывает уровень понимания работы с той же JTable всех присутствующих. На сим раскланиваюсь... Последний раз, перегрузка "getRowCount() в TableModel с подсчетом кол-ва отфетченных записей", равно как и более сложные варианты рассматривались еще ДО задания вопроса. Ваше упорное желание признать всех неумными людьми одновременно с апломбом, мешающим выйти за пару прописных, хотя и не понятых, похоже, до конца приемов, вряд ли пойдут Вам на пользу. Впрочем, Вы ведь уже раскланялись. Как жаль, что Вы наконец-то уходите! :) Ну я не сомневался, что на тему моего хамства найдутся хамы более благородные. Молодой человек...Еще раз напомню, что у Вас была проблема в следующем - Вы регулярно давали TableModel ровно то кол-во записей, которое возвращал запрос. Если я ошибаюсь, то приведите мне свою цитату, которая это опровергает. Далее, я не признавал всех "людьми неумными". Меня позабавила дискуссия на тему "А вот TOAD поступает...", о чем я и не смог не сообщить. Вам может быть код "постраничного фетча" в Java предложить, или уже сами додумались? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2007, 20:41:33 |
|
||
|
JTable и большие выборки
|
|||
|---|---|---|---|
|
#18+
carper Ну, например, объясните нам, как клиент-серверные технологии решают такой простой вопрос (только, пожалуйста, не отвлекайтесь, напоминаю, вопрос изложен в ПЕРВОМ посте). так каким образом ВЫ решили эту задачу, если не секрет? и второй вопрос - если ваша версия oracle поддерживает аналитику, то чем не устраивает следующая конструкция: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2007, 10:19:58 |
|
||
|
JTable и большие выборки
|
|||
|---|---|---|---|
|
#18+
hubamuba carper Ну, например, объясните нам, как клиент-серверные технологии решают такой простой вопрос (только, пожалуйста, не отвлекайтесь, напоминаю, вопрос изложен в ПЕРВОМ посте). так каким образом ВЫ решили эту задачу, если не секрет? и второй вопрос - если ваша версия oracle поддерживает аналитику, то чем не устраивает следующая конструкция: Код: plaintext Решил долгим и скучным методом, связанным с глубоким ("глубоким", т.к. были вовлечены серьезные люди, а не только ваш покорный слуга) анализом реальных бизнес-потребностей и разделением их на "поддающиеся формализации", включая предварительный подсчет числа записей (туда напихано все, что смогло помочь, включая снимки, временные таблицы, генерируемые по ожидаемому времени, извините за тавтологию, запроса (т.е. почти те же снимки, но с понакрученным алгоритмом ввода данных) и т.п.) и на слабоформализованные - здесь уже на компромиссы пошли пользователи. Как можно понять из первого вопроса, именно такой путь я пытался избежать, но таки пошел по нему. :) Честно говоря, я уже и подзабыл этот вопрос, когда с удивлением обнаружил, что ветка не умерла. Боюсь, что моя неграмотная постановка первого вопроса (ну, или не понятная) привела к обсуждению слегка удалившемуся от желаемого, что упорно демонстирует тот же z. Если бы не откровенно невежливая манера данного господина вести беседу (кстати, признаю, направленная в основном даже не ко мне), я бы даже перед ним извинился за введение в заблуждение. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2007, 19:09:51 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=34608798&tid=2145053]: |
0ms |
get settings: |
20ms |
get forum list: |
27ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
68ms |
get topic data: |
19ms |
get forum data: |
5ms |
get page messages: |
90ms |
get tp. blocked users: |
3ms |
| others: | 338ms |
| total: | 584ms |

| 0 / 0 |
