|
|
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
Добрый день в меня вопрос по MyBatis, Hibernate, EclipseLink Когда мы далем SELECT * FROM users, то нам возвращант List<Users> users. Вопрос такой: Делают указание выше ORM перед основным запросом COUNT(*) запрос, чтоб узнать размер будушего List? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 11:10 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
denis111111, если я правильно понял вопрос, то делают отдельным запросом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 12:05 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
xifr, Я когда создаю List<MyObject> l = new ArrayList<>(1234) Стараюсь всегда указывать размер списка чтоб не пересоздавать потом список Так же из запросами SELECT нужно зать размер списка на перед ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 12:29 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
можете просто users.size(); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 12:31 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
denis111111Я когда создаю List<MyObject> l = new ArrayList<>(1234) Стараюсь всегда указывать размер списка чтоб не пересоздавать потом список Так же из запросами SELECT нужно зать размер списка на перед Я когда читаю такие комментарии, стараюсь не плакать. 1234 это не размер списка, а capacity, актуальный только для реализации в виде ArrayList Hibernate использует свои собственные коллекции, так как в них куча функциональности ещё навернуто. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 12:32 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Ну вот, это я и хочу узнать Бо иногда я работаю из чистым JBDC И делаю примерно так: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 12:39 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
Да уж... IMHO в большинстве СУБД count(*) будет выполняться значительно дольше, чем коллекция себя 100500 раз перересайзит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 12:43 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
denis111111Blazkowicz, Ну вот, это я и хочу узнать Бо иногда я работаю из чистым JBDC И делаю примерно так: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. и это все для получения количество строк? а что мешает Вам использовать тот же size(); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 12:48 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev, Понял что нужно пересмотреть Java Collection)) Ну пересоздавать много раз ArrayList мне определенно не нравиться все таки Может кто-то знает хорошый подход в заполнении коллекций когда делаем SELECT? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 12:52 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
denis111111Бо иногда я работаю из чистым JBDC И делаю примерно так: Денис, вы делаете мне больно. Что именно вы пытаетесь таким образом сэкономить? CPU? IO? Память? Нет ни одного параметра по которому бы SQL запрос выиграл бы у нескольких десятков копирований массива в памяти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 12:53 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
Музаффар, Стартовой размер ArrayList 10 Если виборка 234 рядка то масив в ArrayList много раз будет создаватся заново. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 12:55 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
denis111111Понял что нужно пересмотреть Java Collection)) И доклады Шипилёва и Куксенко. denis111111Ну пересоздавать много раз ArrayList мне определенно не нравиться все таки Ну, если мы в данном конкретном месте знаем примерный размер ожидаемых коллекций, то можно впендюрить некую средне минимальную capacity. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 12:57 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
denis111111Если виборка 234 рядка то масив в ArrayList много раз будет создаватся заново. Тебе домашнее задание - посчитать сколько именно раз это самое "много" и сколько миллисекунд оно занимает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 12:59 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
Blazkowiczdenis111111Бо иногда я работаю из чистым JBDC И делаю примерно так: Денис, вы делаете мне больно. Что именно вы пытаетесь таким образом сэкономить? CPU? IO? Память? Нет ни одного параметра по которому бы SQL запрос выиграл бы у нескольких десятков копирований массива в памяти. Насколько я понял, вы говорите что нет смысла делать дополнительной COUNT чтоб узнать размер ArrayList? Мой подход определенно не лучший (может нужно использывать другие реализации списка), но мне кажется нужно всегда задавать розмер ArrayList. Как делаете вы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 13:01 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
denis111111но мне кажется нужно всегда задавать розмер ArrayList. денис, ты не пьян случайно? что значит "тебе кажется"? массивы со списками не путаешь, нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 13:05 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
chpasha, Внутри ArrayList есть Object[] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 13:09 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
denis111111, а о каком количестве записей идёт речь? и каком размере данных в котором призводится подстчёт count? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 13:10 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
chpasha, спасибо, поржал... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 13:11 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
Blazkowiczdenis111111Если виборка 234 рядка то масив в ArrayList много раз будет создаватся заново. Тебе домашнее задание - посчитать сколько именно раз это самое "много" и сколько миллисекунд оно занимает. ну если вести аналогию со сбором строки - то тормозить буде шикарно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 13:17 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
denis111111Насколько я понял, вы говорите что нет смысла делать дополнительной COUNT чтоб узнать размер ArrayList? Я говорю что SQL запрос это ну ооочень ресурсозатратно по сравнению с созданием десятка-другого копий массива. denis111111Мой подход определенно не лучший Скажем так, откровенно плохой. Ответь хотя бы на простой вопрос. Сколько времени у тебя занимает выполнение этого SQL запроса из Java. denis111111(может нужно использывать другие реализации списка) Не нужно. Операции с массивами реализованы на уровне CPU, поэтому ArrayList даёт фору всем остальным коллекциям. denis111111, но мне кажется нужно всегда задавать розмер ArrayList. Это не "розмер". Это "вместимость". denis111111Как делаете вы? Не занимаюсь превентивными оптимизациями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 13:17 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
вадяBlazkowiczпропущено... Тебе домашнее задание - посчитать сколько именно раз это самое "много" и сколько миллисекунд оно занимает. ну если вести аналогию со сбором строки - то тормозить буде шикарно. Ну, можно ещё аналогию с копированием файла на жестком диске провести. И массу других аналогий. Толку от них? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 13:18 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
denis111111Leonid Kudryavtsev, Понял что нужно пересмотреть Java Collection)) Ну пересоздавать много раз ArrayList мне определенно не нравиться все таки Может кто-то знает хорошый подход в заполнении коллекций когда делаем SELECT? 1) В общем случае, когда вы делаете select * в БД, то в момент его выполнения и даже в процессе выгрузки вам данных, БД может не знает конечный размер данных, его размер будет известен только после окончания выгрузке (это на стороне БД) И на клиенте, вы точно ни как это не сделаете (одним запросом) 2) Как я помню в JPA когда получаешь колекцию никакой ArrayList заранее инициализировать не надо, он возврощается по факту, и возвращается List (не факт что это будет ArrayList ) 3) Если вы делаете через jdbc, то на заморачиватся с размерами ArrayList самое бесполезное занятие. Как аргумент, можете посмотреть сорцы Hibernate, где вытаскиваются коллекции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 13:19 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
denis111111chpasha, Внутри ArrayList есть Object[] ладно. давай по-другому: в какой книжке или в каком месте ты прочитал, что в списках нужно всегда задавать размер явно? и еще: какая ошибка происходит, когда ты не задаешь размер? у тебя программа начинает тормозить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 13:20 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
denis111111Внутри ArrayList есть Object[] И что? ))) BlazkowiczТебе домашнее задание - посчитать сколько именно раз это самое "много" и сколько миллисекунд оно занимает. + МассивоСписок, это почти как КотаПес ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 13:22 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
chpashaв какой книжке или в каком месте ты прочитал, что в списках нужно всегда задавать размер явно? denis111111 но мне кажется нужно всегда задавать розмер ArrayList. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 13:28 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
автор1) В общем случае, когда вы делаете select * в БД, то в момент его выполнения и даже в процессе выгрузки вам данных, БД может не знает конечный размер данных, его размер будет известен только после окончания выгрузке (это на стороне БД) И на клиенте, вы точно ни как это не сделаете (одним запросом) смотря как организован запрос. можно прочитав первую строку результата запроса узнать количество строк в запросе. и без count ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 13:29 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
chpashadenis111111chpasha, Внутри ArrayList есть Object[] ладно. давай по-другому: в какой книжке или в каком месте ты прочитал, что в списках нужно всегда задавать размер явно? и еще: какая ошибка происходит, когда ты не задаешь размер? у тебя программа начинает тормозить? Можно задавать, а можно и не задавать. Меня интересует как зделать правильно. Если COUNT занимает больше времени\ресурсов чем пересоздание массива, то тогда нет смысла все это делать. Но это мне нужно лично перепроверить. Начало топика было по MyBatis, Hibernate, EclipseLink Если они делают все "Правильно" тогда мне нет смысла в этом разбираться, а просто брать и использовать для моих выборок например MyBatis ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 13:35 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
denis111111Если они делают все "Правильно" тогда мне нет смысла в этом разбираться, а просто брать и использовать для моих выборок например MyBatis Пока ты ищешь в потёмках "правильность", другие уже саппортят код в продакшне. Не занимайся ерундой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 13:37 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
Хорошо, всем спасибо за мнения) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 13:39 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
BlazkowiczНе нужно. Операции с массивами реализованы на уровне CPU, поэтому ArrayList даёт фору всем остальным коллекциям. Плюс достаточно "агрессивная" политика при ресайзе. Но поскольку память никому не жалко и на фоне обычных "потерь" памяти при работе с огромным кол-вом объектов это копейки - в целом, обычно, не важно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 13:40 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevПлюс достаточно "агрессивная" политика при ресайзе. Но поскольку память никому не жалко и на фоне обычных "потерь" памяти при работе с огромным кол-вом объектов это копейки - в целом, обычно, не важно. Да, сколько там той памяти нужно? Во-первых вряд ли там у Дениса тысячные массивы. Во-вторых GC это всё барахло соберёт предельно эффективно и даже не заметит сколько его там было. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 13:43 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
а сколько памяти нужно для чтения файла по-строчно в строку? а какие тормоза при этом, и тормоза не в файловой системе , а именно в работе со строками в java ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 13:47 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
вадяа сколько памяти нужно для чтения файла по-строчно в строку? а какие тормоза при этом, и тормоза не в файловой системе , а именно в работе со строками в java Это вопрос к кому и зачем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 13:49 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
Blazkowiczвадяа сколько памяти нужно для чтения файла по-строчно в строку? а какие тормоза при этом, и тормоза не в файловой системе , а именно в работе со строками в java Это вопрос к кому и зачем? это к тому , что пересоздание строки и массива/листа одного поля ягоды ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 13:52 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
Ну тогда уж говори СКОЛЬКО нужно. И какой размер файл. И как ты его читаешь. Выкладывай код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 13:56 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
вадяэто к тому , что пересоздание строки и массива/листа одного поля ягоды Сама операция - да. Итеративный процесс - нет. ArrayList прогрессивно расширяет массив с запасом. String только под текущие нужды. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 13:56 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
Blazkowiczвадяэто к тому , что пересоздание строки и массива/листа одного поля ягоды Сама операция - да. Итеративный процесс - нет. ArrayList прогрессивно расширяет массив с запасом. String только под текущие нужды. дак вот вопрос и возникает когда выгодно использовать тот или иной подход. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 14:00 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevНу тогда уж говори СКОЛЬКО нужно. И какой размер файл. И как ты его читаешь. Выкладывай код. я эту проблему решил, вопрос в подходе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 14:02 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
вадядак вот вопрос и возникает когда выгодно использовать тот или иной подход. Вопроса не вижу. Одни утверждения. О каких подходах речь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 14:03 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
1) String разве что-то расширяет? Расширяет StringBuilder / StringBuffer. И вроде, так же достаточно агрессивно. Т.ч. медленно, но ДИКИХ тормозов быть не должно. 2) фраза "читать файл построчно" - заставляет подозревать, что тут и так уже тормоз а "читать файл построчно в строку" - вообще масло-масленное. 3) Не указано, как идет работа с файловой системой. Через какой класс. Какой размер буфера (и сделал ли его автор вообще). В общем, проблема с "в работе со строками в java" не раскрыта. P.S. За реализацию String и "работу со строками" так же поубивал бы создателей. Одно их спасает, создателей java DateTime я бы не просто убивал, а убивал бы изощренно медленно. Т.ч. до создателей String руки могли бы и не дойти ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 14:04 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
BlazkowiczLeonid KudryavtsevПлюс достаточно "агрессивная" политика при ресайзе. Но поскольку память никому не жалко и на фоне обычных "потерь" памяти при работе с огромным кол-вом объектов это копейки - в целом, обычно, не важно. Да, сколько там той памяти нужно? Во-первых вряд ли там у Дениса тысячные массивы. Во-вторых GC это всё барахло соберёт предельно эффективно и даже не заметит сколько его там было. В меня выборки по 7000-50000 рядков ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 14:08 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
denis111111Blazkowiczпропущено... Да, сколько там той памяти нужно? Во-первых вряд ли там у Дениса тысячные массивы. Во-вторых GC это всё барахло соберёт предельно эффективно и даже не заметит сколько его там было. В меня выборки по 7000-50000 рядков а вот тут возникает другой вопрос - нафига тебе столько строк гнать из бызы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 14:11 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
denis111111В меня выборки по 7000-50000 рядков I. По времени работы: 1.1. подсчитать сколько раз будет выполняться ресайз 1.2. сколько времени он занимает 1.3. сколько времени занимает SELECT count(*) II. По памяти: 1.1. Сколько будет перерасход памяти на коллекции 1.2. Сколько будет ОБЩЕЕ потребление памяти ArraList + сохраненные элементы 1.3. Сколько в процентах будет п.1. к общему потреблению ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 14:20 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
зачем 50000 строк на клиенте? в них искать? сортировать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 14:23 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
Да какая разница зачем эти ~100k строк на клиента утащили??? Накойхер (фамилие такой) оптимизировать эту сопельную задачу, дважды напрягая сервер одним и тем же запросом?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 16:25 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovДа какая разница зачем эти ~100k строк на клиента утащили??? Накойхер (фамилие такой) оптимизировать эту сопельную задачу, дважды напрягая сервер одним и тем же запросом?! меня как то на собесе спросили, допустим, у тебя есть аррайлист размером 4 гигабайта, каким образом ты бы его отсортировал? я аж как то даже подрастерялся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 18:06 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
100k и 1000M - даже не три порядка разницы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 18:09 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
lor2меня как то на собесе спросили, допустим, у тебя есть аррайлист размером 4 гигабайта, каким образом ты бы его отсортировал? я аж как то даже подрастерялся. При такой постановке вопроса хоть пузырьком. Всё же зависит от ограничений. Вероятно вопрос идёт об оптимизации процесса по времени? Тогда, вероятно, процесс нужно векторизировать. А для этого хорошо подходит, например, merge sort. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 18:14 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
denis111111В меня выборки по 7000-50000 рядков Ну, отлично. Поставь туда 7000 и забудь. Сколько у тебя таких выборок живет в памяти одновременно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 18:16 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, я конечно не профессионал а так, любитель, можно вопрос? как часто вам на практике в реале приходилось сортировать листы размером в 4 гига? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 18:18 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
lor2Blazkowicz, я конечно не профессионал а так, любитель, можно вопрос? как часто вам на практике в реале приходилось сортировать листы размером в 4 гига? Ну, именно сортировать не приходилось. Но была задача чтобы несколько десятков гиг текстовых данных обработать в разумное время (2-4 часа). До реализации дела не дошло, но в теории, главное векторизировать решение. А там, арендовал себе в облаке десяток компов, запулил туда этот файл, запустил обработку, и забирай результат. Решений готовых - масса, нужно только подобрать подходящее под задачу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 18:27 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
Blazkowiczlor2Blazkowicz, я конечно не профессионал а так, любитель, можно вопрос? как часто вам на практике в реале приходилось сортировать листы размером в 4 гига? Ну, именно сортировать не приходилось. Но была задача чтобы несколько десятков гиг текстовых данных обработать в разумное время (2-4 часа). До реализации дела не дошло, но в теории, главное векторизировать решение. А там, арендовал себе в облаке десяток компов, запулил туда этот файл, запустил обработку, и забирай результат. Решений готовых - масса, нужно только подобрать подходящее под задачу. я не совсем понимаю что такое векторизация но насколько я понимаю это способ как то разбить одну большую задачу на несколько мелких? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 18:41 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
lor2я конечно не профессионал а так, любитель, можно вопрос? как часто вам на практике в реале приходилось сортировать листы размером в 4 гига? Сейчас на практике: нужно "коннектить" миллионы различных вариантов и отобрать из всех лучшие (по каким-то критериям). Первый вариант программы так и работал: тупо сконнектить, сохранить миллион в ArraList, отсортировать. На миллионе нормально, при 3-4 память кончалось и тормозить, при > 10 виснет ))). Сейчас алгоритм переписал ))) В БД отсортировать Гигабайты - обычное дело. В 1999-2000 г. делал сайт, приходилось сортировать десятки мил. записей для ускорения полнотекстового поиска. На компе с 16 Mb RAM ))). В том году, переливал реальные БД где под 200 Gb информации. Видел БД где под 1.5 Тб информации (текстовая, не картинки, основная рабочая табличка >45 Gb ) Понятно, что если есть данные, то и желание их отсортировать вполне естественное IMHO & AFAIK ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 18:53 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
не знаю.. мне как то кажется что если у тебя стоит задача отсортировать аррайлист в 4 гига - то что то здесь не так. ты верно сказал, нафига сортировать явой если ты можешь лист уже отсортированный выдрать из бд. и следом второй вопрос - нафига вытаскивать 4 гига - может стоит подумать о критерии для начала? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 19:02 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
lor2мне как то кажется что если у тебя стоит задача отсортировать аррайлист в 4 гига - то что то здесь не так. ты верно сказал, нафига сортировать явой если ты можешь лист уже отсортированный выдрать из бд. а кто сказал, что лист из DB? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 19:13 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
вот у меня сейчас не из БД В БД граф: всего 3 000 узлов, около 50 000 соединений. Из точки в точку может быть сотня тысяч разных маршрутов (в среднем от 2 до 25 тыс) При наложении конкретики - кол-во вариантов "легким движением руки" уходит за десятки миллионов на одном маршруте. Комбинаторика, что б ее ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 19:30 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
вадяавтор1) В общем случае, когда вы делаете select * в БД, то в момент его выполнения и даже в процессе выгрузки вам данных, БД может не знает конечный размер данных, его размер будет известен только после окончания выгрузке (это на стороне БД) И на клиенте, вы точно ни как это не сделаете (одним запросом) смотря как организован запрос. можно прочитав первую строку результата запроса узнать количество строк в запросе. и без count Простите что воскрешаю , но можно пример , так для общей эрудиции ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2016, 15:29 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
pandвадяпропущено... смотря как организован запрос. можно прочитав первую строку результата запроса узнать количество строк в запросе. и без count Простите что воскрешаю , но можно пример , так для общей эрудиции Я думаю тут имелось введу что-то типа "sql window function / Analytic Functions" Но в реальности делать два запроса или одним с "sql window function" разница не большая. А с точки зрения производительности, тут еще вопрос кто выиграет. Хотя иногда бывает удобно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2016, 15:47 |
|
||
|
|

start [/forum/topic.php?all=1&fid=59&tid=2124302]: |
0ms |
get settings: |
4ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
33ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 334ms |

| 0 / 0 |
