powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Вопрос по ORM
59 сообщений из 59, показаны все 3 страниц
Вопрос по ORM
    #39184575
denis111111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день
в меня вопрос по MyBatis, Hibernate, EclipseLink
Когда мы далем SELECT * FROM users, то нам возвращант List<Users> users.

Вопрос такой:
Делают указание выше ORM перед основным запросом COUNT(*) запрос, чтоб узнать размер будушего List?
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39184655
xifr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
denis111111,

если я правильно понял вопрос, то
делают отдельным запросом
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39184718
denis111111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
xifr,
Я когда создаю List<MyObject> l = new ArrayList<>(1234)
Стараюсь всегда указывать размер списка чтоб не пересоздавать потом список
Так же из запросами SELECT нужно зать размер списка на перед
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39184720
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можете просто users.size();
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39184723
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
denis111111Я когда создаю List<MyObject> l = new ArrayList<>(1234)
Стараюсь всегда указывать размер списка чтоб не пересоздавать потом список
Так же из запросами SELECT нужно зать размер списка на перед
Я когда читаю такие комментарии, стараюсь не плакать.

1234 это не размер списка, а capacity, актуальный только для реализации в виде ArrayList
Hibernate использует свои собственные коллекции, так как в них куча функциональности ещё навернуто.
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39184744
denis111111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

Ну вот, это я и хочу узнать

Бо иногда я работаю из чистым JBDC

И делаю примерно так:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
  public List<ProDbRow> findProDbRows() {
        String query = "SELECT * FROM table";
        List<ProDbRow> result = new ArrayList<>(findCountProDbRows());
             // filing PraparedStatemens
        // get data from ResultSet and fill result list
        return null;
    }

    public int findCountProDbRows() {
        String query = "SELECT COUNT(*) FROM table";
             //...
        //...
        return 343434;
    }

 
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39184749
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да уж...
IMHO в большинстве СУБД count(*) будет выполняться значительно дольше, чем коллекция себя 100500 раз перересайзит.
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39184758
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
denis111111Blazkowicz,

Ну вот, это я и хочу узнать

Бо иногда я работаю из чистым JBDC

И делаю примерно так:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
  public List<ProDbRow> findProDbRows() {
        String query = "SELECT * FROM table";
        List<ProDbRow> result = new ArrayList<>(findCountProDbRows());
             // filing PraparedStatemens
        // get data from ResultSet and fill result list
        return null;
    }

    public int findCountProDbRows() {
        String query = "SELECT COUNT(*) FROM table";
             //...
        //...
        return 343434;
    }

 



и это все для получения количество строк?
а что мешает Вам использовать тот же size();
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39184770
denis111111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid Kudryavtsev,

Понял что нужно пересмотреть Java Collection))


Ну пересоздавать много раз ArrayList мне определенно не нравиться все таки

Может кто-то знает хорошый подход в заполнении коллекций когда делаем SELECT?
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39184773
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
denis111111Бо иногда я работаю из чистым JBDC
И делаю примерно так:

Денис, вы делаете мне больно.
Что именно вы пытаетесь таким образом сэкономить? CPU? IO? Память? Нет ни одного параметра по которому бы SQL запрос выиграл бы у нескольких десятков копирований массива в памяти.
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39184780
denis111111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Музаффар,


Стартовой размер ArrayList 10

Если виборка 234 рядка то масив в ArrayList много раз будет создаватся заново.
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39184785
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
denis111111Понял что нужно пересмотреть Java Collection))

И доклады Шипилёва и Куксенко.

denis111111Ну пересоздавать много раз ArrayList мне определенно не нравиться все таки

Ну, если мы в данном конкретном месте знаем примерный размер ожидаемых коллекций, то можно впендюрить некую средне минимальную capacity.
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39184787
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
denis111111Если виборка 234 рядка то масив в ArrayList много раз будет создаватся заново.
Тебе домашнее задание - посчитать сколько именно раз это самое "много" и сколько миллисекунд оно занимает.
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39184793
denis111111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowiczdenis111111Бо иногда я работаю из чистым JBDC
И делаю примерно так:

Денис, вы делаете мне больно.
Что именно вы пытаетесь таким образом сэкономить? CPU? IO? Память? Нет ни одного параметра по которому бы SQL запрос выиграл бы у нескольких десятков копирований массива в памяти.

Насколько я понял, вы говорите что нет смысла делать дополнительной COUNT чтоб узнать размер ArrayList?

Мой подход определенно не лучший (может нужно использывать другие реализации списка), но мне кажется нужно всегда задавать розмер ArrayList.

Как делаете вы?
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39184805
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
denis111111но мне кажется нужно всегда задавать розмер ArrayList.
денис, ты не пьян случайно? что значит "тебе кажется"? массивы со списками не путаешь, нет?
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39184813
denis111111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
chpasha,
Внутри ArrayList есть Object[]
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39184815
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
denis111111,
а о каком количестве записей идёт речь? и каком размере данных в котором призводится подстчёт count?
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39184816
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpasha,

спасибо, поржал...
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39184831
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowiczdenis111111Если виборка 234 рядка то масив в ArrayList много раз будет создаватся заново.
Тебе домашнее задание - посчитать сколько именно раз это самое "много" и сколько миллисекунд оно занимает.
ну если вести аналогию со сбором строки - то тормозить буде шикарно.
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39184832
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
denis111111Насколько я понял, вы говорите что нет смысла делать дополнительной COUNT чтоб узнать размер ArrayList?

Я говорю что SQL запрос это ну ооочень ресурсозатратно по сравнению с созданием десятка-другого копий массива.

denis111111Мой подход определенно не лучший

Скажем так, откровенно плохой. Ответь хотя бы на простой вопрос. Сколько времени у тебя занимает выполнение этого SQL запроса из Java.

denis111111(может нужно использывать другие реализации списка)

Не нужно. Операции с массивами реализованы на уровне CPU, поэтому ArrayList даёт фору всем остальным коллекциям.

denis111111, но мне кажется нужно всегда задавать розмер ArrayList.

Это не "розмер". Это "вместимость".

denis111111Как делаете вы?
Не занимаюсь превентивными оптимизациями.
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39184834
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяBlazkowiczпропущено...

Тебе домашнее задание - посчитать сколько именно раз это самое "много" и сколько миллисекунд оно занимает.
ну если вести аналогию со сбором строки - то тормозить буде шикарно.
Ну, можно ещё аналогию с копированием файла на жестком диске провести. И массу других аналогий. Толку от них?
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39184835
xifr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
denis111111Leonid Kudryavtsev,
Понял что нужно пересмотреть Java Collection))
Ну пересоздавать много раз ArrayList мне определенно не нравиться все таки
Может кто-то знает хорошый подход в заполнении коллекций когда делаем SELECT?

1) В общем случае, когда вы делаете select * в БД, то в момент его выполнения и даже в процессе выгрузки вам данных,
БД может не знает конечный размер данных, его размер будет известен только после окончания выгрузке (это на стороне БД)
И на клиенте, вы точно ни как это не сделаете (одним запросом)

2) Как я помню в JPA когда получаешь колекцию никакой ArrayList заранее инициализировать не надо, он возврощается по факту,
и возвращается List (не факт что это будет ArrayList )

3) Если вы делаете через jdbc, то на заморачиватся с размерами ArrayList самое бесполезное занятие.
Как аргумент, можете посмотреть сорцы Hibernate, где вытаскиваются коллекции.
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39184837
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
denis111111chpasha,
Внутри ArrayList есть Object[]
ладно. давай по-другому: в какой книжке или в каком месте ты прочитал, что в списках нужно всегда задавать размер явно?
и еще: какая ошибка происходит, когда ты не задаешь размер? у тебя программа начинает тормозить?
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39184839
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
denis111111Внутри ArrayList есть Object[]
И что? )))

BlazkowiczТебе домашнее задание - посчитать сколько именно раз это самое "много" и сколько миллисекунд оно занимает.
+

МассивоСписок, это почти как КотаПес
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39184851
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpashaв какой книжке или в каком месте ты прочитал, что в списках нужно всегда задавать размер явно?
denis111111 но мне кажется нужно всегда задавать розмер ArrayList.
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39184852
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор1) В общем случае, когда вы делаете select * в БД, то в момент его выполнения и даже в процессе выгрузки вам данных,
БД может не знает конечный размер данных, его размер будет известен только после окончания выгрузке (это на стороне БД)
И на клиенте, вы точно ни как это не сделаете (одним запросом)
смотря как организован запрос.
можно прочитав первую строку результата запроса узнать количество строк в запросе. и без count
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39184860
denis111111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
chpashadenis111111chpasha,
Внутри ArrayList есть Object[]
ладно. давай по-другому: в какой книжке или в каком месте ты прочитал, что в списках нужно всегда задавать размер явно?
и еще: какая ошибка происходит, когда ты не задаешь размер? у тебя программа начинает тормозить?

Можно задавать, а можно и не задавать. Меня интересует как зделать правильно.

Если COUNT занимает больше времени\ресурсов чем пересоздание массива, то тогда нет смысла все это делать.
Но это мне нужно лично перепроверить.


Начало топика было по MyBatis, Hibernate, EclipseLink
Если они делают все "Правильно" тогда мне нет смысла в этом разбираться, а просто брать и использовать для моих выборок например MyBatis
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39184862
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
denis111111Если они делают все "Правильно" тогда мне нет смысла в этом разбираться, а просто брать и использовать для моих выборок например MyBatis
Пока ты ищешь в потёмках "правильность", другие уже саппортят код в продакшне. Не занимайся ерундой.
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39184866
denis111111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хорошо, всем спасибо за мнения)
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39184867
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczНе нужно. Операции с массивами реализованы на уровне CPU, поэтому ArrayList даёт фору всем остальным коллекциям.
Плюс достаточно "агрессивная" политика при ресайзе.

Но поскольку память никому не жалко и на фоне обычных "потерь" памяти при работе с огромным кол-вом объектов это копейки - в целом, обычно, не важно.
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39184874
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevПлюс достаточно "агрессивная" политика при ресайзе.

Но поскольку память никому не жалко и на фоне обычных "потерь" памяти при работе с огромным кол-вом объектов это копейки - в целом, обычно, не важно.
Да, сколько там той памяти нужно? Во-первых вряд ли там у Дениса тысячные массивы. Во-вторых GC это всё барахло соберёт предельно эффективно и даже не заметит сколько его там было.
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39184882
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а сколько памяти нужно для чтения файла по-строчно в строку?
а какие тормоза при этом, и тормоза не в файловой системе , а именно в работе со строками в java
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39184885
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяа сколько памяти нужно для чтения файла по-строчно в строку?
а какие тормоза при этом, и тормоза не в файловой системе , а именно в работе со строками в java
Это вопрос к кому и зачем?
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39184891
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowiczвадяа сколько памяти нужно для чтения файла по-строчно в строку?
а какие тормоза при этом, и тормоза не в файловой системе , а именно в работе со строками в java
Это вопрос к кому и зачем?
это к тому , что пересоздание строки и массива/листа одного поля ягоды
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39184899
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну тогда уж говори СКОЛЬКО нужно. И какой размер файл. И как ты его читаешь.

Выкладывай код.
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39184900
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяэто к тому , что пересоздание строки и массива/листа одного поля ягоды
Сама операция - да. Итеративный процесс - нет. ArrayList прогрессивно расширяет массив с запасом. String только под текущие нужды.
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39184909
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowiczвадяэто к тому , что пересоздание строки и массива/листа одного поля ягоды
Сама операция - да. Итеративный процесс - нет. ArrayList прогрессивно расширяет массив с запасом. String только под текущие нужды.
дак вот вопрос и возникает когда выгодно использовать тот или иной подход.
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39184911
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevНу тогда уж говори СКОЛЬКО нужно. И какой размер файл. И как ты его читаешь.

Выкладывай код.
я эту проблему решил,
вопрос в подходе.
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39184912
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадядак вот вопрос и возникает когда выгодно использовать тот или иной подход.
Вопроса не вижу. Одни утверждения. О каких подходах речь?
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39184913
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) String разве что-то расширяет?

Расширяет StringBuilder / StringBuffer. И вроде, так же достаточно агрессивно. Т.ч. медленно, но ДИКИХ тормозов быть не должно.

2) фраза "читать файл построчно" - заставляет подозревать, что тут и так уже тормоз
а "читать файл построчно в строку" - вообще масло-масленное.

3) Не указано, как идет работа с файловой системой. Через какой класс. Какой размер буфера (и сделал ли его автор вообще).

В общем, проблема с "в работе со строками в java" не раскрыта.

P.S.
За реализацию String и "работу со строками" так же поубивал бы создателей. Одно их спасает, создателей java DateTime я бы не просто убивал, а убивал бы изощренно медленно. Т.ч. до создателей String руки могли бы и не дойти )))
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39184917
denis111111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczLeonid KudryavtsevПлюс достаточно "агрессивная" политика при ресайзе.

Но поскольку память никому не жалко и на фоне обычных "потерь" памяти при работе с огромным кол-вом объектов это копейки - в целом, обычно, не важно.
Да, сколько там той памяти нужно? Во-первых вряд ли там у Дениса тысячные массивы. Во-вторых GC это всё барахло соберёт предельно эффективно и даже не заметит сколько его там было.

В меня выборки по 7000-50000 рядков
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39184921
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
denis111111Blazkowiczпропущено...

Да, сколько там той памяти нужно? Во-первых вряд ли там у Дениса тысячные массивы. Во-вторых GC это всё барахло соберёт предельно эффективно и даже не заметит сколько его там было.

В меня выборки по 7000-50000 рядков
а вот тут возникает другой вопрос - нафига тебе столько строк гнать из бызы?
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39184940
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
denis111111В меня выборки по 7000-50000 рядков
I. По времени работы:
1.1. подсчитать сколько раз будет выполняться ресайз
1.2. сколько времени он занимает
1.3. сколько времени занимает SELECT count(*)

II. По памяти:
1.1. Сколько будет перерасход памяти на коллекции
1.2. Сколько будет ОБЩЕЕ потребление памяти ArraList + сохраненные элементы
1.3. Сколько в процентах будет п.1. к общему потреблению
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39184947
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зачем 50000 строк на клиенте? в них искать? сортировать?
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39185165
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да какая разница зачем эти ~100k строк на клиента утащили???
Накойхер (фамилие такой) оптимизировать эту сопельную задачу, дважды напрягая сервер одним и тем же запросом?!
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39185283
lor2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basil A. SidorovДа какая разница зачем эти ~100k строк на клиента утащили???
Накойхер (фамилие такой) оптимизировать эту сопельную задачу, дважды напрягая сервер одним и тем же запросом?!
меня как то на собесе спросили, допустим, у тебя есть аррайлист размером 4 гигабайта, каким образом ты бы его отсортировал? я аж как то даже подрастерялся.
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39185287
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
100k и 1000M - даже не три порядка разницы.
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39185290
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lor2меня как то на собесе спросили, допустим, у тебя есть аррайлист размером 4 гигабайта, каким образом ты бы его отсортировал? я аж как то даже подрастерялся.
При такой постановке вопроса хоть пузырьком. Всё же зависит от ограничений. Вероятно вопрос идёт об оптимизации процесса по времени? Тогда, вероятно, процесс нужно векторизировать. А для этого хорошо подходит, например, merge sort.
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39185293
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
denis111111В меня выборки по 7000-50000 рядков
Ну, отлично. Поставь туда 7000 и забудь. Сколько у тебя таких выборок живет в памяти одновременно?
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39185297
lor2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,
я конечно не профессионал а так, любитель, можно вопрос? как часто вам на практике в реале приходилось сортировать листы размером в 4 гига?
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39185301
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lor2Blazkowicz,
я конечно не профессионал а так, любитель, можно вопрос? как часто вам на практике в реале приходилось сортировать листы размером в 4 гига?
Ну, именно сортировать не приходилось. Но была задача чтобы несколько десятков гиг текстовых данных обработать в разумное время (2-4 часа). До реализации дела не дошло, но в теории, главное векторизировать решение. А там, арендовал себе в облаке десяток компов, запулил туда этот файл, запустил обработку, и забирай результат. Решений готовых - масса, нужно только подобрать подходящее под задачу.
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39185304
lor2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowiczlor2Blazkowicz,
я конечно не профессионал а так, любитель, можно вопрос? как часто вам на практике в реале приходилось сортировать листы размером в 4 гига?
Ну, именно сортировать не приходилось. Но была задача чтобы несколько десятков гиг текстовых данных обработать в разумное время (2-4 часа). До реализации дела не дошло, но в теории, главное векторизировать решение. А там, арендовал себе в облаке десяток компов, запулил туда этот файл, запустил обработку, и забирай результат. Решений готовых - масса, нужно только подобрать подходящее под задачу.
я не совсем понимаю что такое векторизация но насколько я понимаю это способ как то разбить одну большую задачу на несколько мелких?
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39185310
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lor2я конечно не профессионал а так, любитель, можно вопрос? как часто вам на практике в реале приходилось сортировать листы размером в 4 гига?
Сейчас на практике: нужно "коннектить" миллионы различных вариантов и отобрать из всех лучшие (по каким-то критериям).

Первый вариант программы так и работал: тупо сконнектить, сохранить миллион в ArraList, отсортировать. На миллионе нормально, при 3-4 память кончалось и тормозить, при > 10 виснет ))).

Сейчас алгоритм переписал )))

В БД отсортировать Гигабайты - обычное дело. В 1999-2000 г. делал сайт, приходилось сортировать десятки мил. записей для ускорения полнотекстового поиска. На компе с 16 Mb RAM ))). В том году, переливал реальные БД где под 200 Gb информации. Видел БД где под 1.5 Тб информации (текстовая, не картинки, основная рабочая табличка >45 Gb )

Понятно, что если есть данные, то и желание их отсортировать вполне естественное

IMHO & AFAIK
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39185317
lor2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не знаю.. мне как то кажется что если у тебя стоит задача отсортировать аррайлист в 4 гига - то что то здесь не так. ты верно сказал, нафига сортировать явой если ты можешь лист уже отсортированный выдрать из бд. и следом второй вопрос - нафига вытаскивать 4 гига - может стоит подумать о критерии для начала?
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39185322
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lor2мне как то кажется что если у тебя стоит задача отсортировать аррайлист в 4 гига - то что то здесь не так. ты верно сказал, нафига сортировать явой если ты можешь лист уже отсортированный выдрать из бд.
а кто сказал, что лист из DB?
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39185336
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот у меня сейчас не из БД

В БД граф: всего 3 000 узлов, около 50 000 соединений. Из точки в точку может быть сотня тысяч разных маршрутов (в среднем от 2 до 25 тыс)

При наложении конкретики - кол-во вариантов "легким движением руки" уходит за десятки миллионов на одном маршруте. Комбинаторика, что б ее )))
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39186005
pand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяавтор1) В общем случае, когда вы делаете select * в БД, то в момент его выполнения и даже в процессе выгрузки вам данных,
БД может не знает конечный размер данных, его размер будет известен только после окончания выгрузке (это на стороне БД)
И на клиенте, вы точно ни как это не сделаете (одним запросом)
смотря как организован запрос.
можно прочитав первую строку результата запроса узнать количество строк в запросе. и без count

Простите что воскрешаю , но можно пример , так для общей эрудиции
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39186022
xifr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pandвадяпропущено...

смотря как организован запрос.
можно прочитав первую строку результата запроса узнать количество строк в запросе. и без count

Простите что воскрешаю , но можно пример , так для общей эрудиции

Я думаю тут имелось введу что-то типа "sql window function / Analytic Functions"
Но в реальности делать два запроса или одним с "sql window function" разница не большая.
А с точки зрения производительности, тут еще вопрос кто выиграет.
Хотя иногда бывает удобно :)
...
Рейтинг: 0 / 0
Вопрос по ORM
    #39186025
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хочется оригинального ответа. Может, что-то новое узнаем. Я и другие варианты могу себе представит ))), фантазия у меня богатая ))).
...
Рейтинг: 0 / 0
59 сообщений из 59, показаны все 3 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Вопрос по ORM
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]