Страница 100 из 157

Clarion 11-12

Добавлено: 25 Январь 2022, 15:07
kreator
Губин Игорь писал(а): 25 Январь 2022, 14:41 Боюсь, что дешевле купить хороший комп с SSD под молотилку, чем сервер под мощный SQL.
Я сильно сомневаюсь. SSD не панацея. И какой ваш клиент купит вот такое - https://www.regard.ru/catalog/tovar340384.htm?
RaFaeL писал(а): 25 Январь 2022, 14:47 У нас выгружаются через DynaLib N записей с какой-то по какую-то, сколько на экран влазит, SQL-запросом, без курсоров. Работает очень быстро.
Далась вам эта постраничная загрузка! В чём её смысл? Есть сто тысяч записей. Это ~5000 страниц. Кто просматривает и листает эти 5000 страниц?

Clarion 11-12

Добавлено: 25 Январь 2022, 15:18
finsoftrz
Ram disk скорее всего не поможет. Это устаревшая технология. :-) Если оперативной памяти достаточно для размещения всей базы, то винда ее и так закеширует. Ssd поможет на этапе начального чтения с диска. Ну и если база не помещается в оперативной памяти. Процик помощнее. Писали, что i9 может дать прирост скорости на вычислительных задачах порядка 2.5 раз относительно i7. Может, еще вычисления как-то распараллелить.

Clarion 11-12

Добавлено: 25 Январь 2022, 15:28
RaFaeL
kreator писал(а): 25 Январь 2022, 15:07 Далась вам эта постраничная загрузка! В чём её смысл? Есть сто тысяч записей. Это ~5000 страниц. Кто просматривает и листает эти 5000 страниц?
Смысл в том, чтобы быстро, очень быстро открылось окно

Clarion 11-12

Добавлено: 25 Январь 2022, 15:50
Игорь Столяров
Никто не будет просматривать тысячи страниц.
Но если Вы запросите у SQL сервера записи по москвичам с именем "Вазген" - то он их Вам вернёт.
И для открытия списка придётся получить весь результат ... :(

Clarion 11-12

Добавлено: 25 Январь 2022, 17:22
kreator
RaFaeL писал(а): 25 Январь 2022, 15:28 Смысл в том, чтобы быстро, очень быстро открылось окно
Оно и с файловой загрузкой быстро откроется. Если записей не десятки тысяч.
Игорь Столяров писал(а): 25 Январь 2022, 15:50 Никто не будет просматривать тысячи страниц.
Но если Вы запросите у SQL сервера записи по москвичам с именем "Вазген" - то он их Вам вернёт.
И для открытия списка придётся получить весь результат ... :(
Можно запросить и россиян с фамилией "Иванов" вместе с умершими за 200 лет. Понятно - панацеи нет. В зависимости от задачи надо ограничивать. ИМХО, постраничная загрузка - "дуть на воду". Клиент отрабатывает супербыстро, зато сервер дико в напряге. Рекомендацию работать с сервером большими пакетами никто не отменял.

Clarion 11-12

Добавлено: 25 Январь 2022, 17:43
RaFaeL
kreator писал(а): 25 Январь 2022, 17:22 Оно и с файловой загрузкой быстро откроется. Если записей не десятки тысяч.
Не откроется оно быстро. На каждую запись еще джойнов куча, типа выводим накладные, но нужно также вывести в список контрагента, менеджера, склад и еще полно всего. Пользователю что, сидеть ждать пока у него все это прогрузится? Моментально всё должно быть

Clarion 11-12

Добавлено: 25 Январь 2022, 20:15
kreator
Это же один запрос. Джойны в запросе. У вас не так?

Clarion 11-12

Добавлено: 25 Январь 2022, 21:04
RaFaeL
Конечно один, и сколько этот запрос будет выполняться если нужно открыть реестр документов с 10к записей и десятком джойнов? А ведь еще потом данные по сети перегонять и в лист выводить. А окно должно открываться максимум за секунду

Clarion 11-12

Добавлено: 25 Январь 2022, 22:00
kreator
Быстро будет выполняться. Если тормозит, оптимизируйте запрос. Неужели у вас одни реестры по 10к записей?

Clarion 11-12

Добавлено: 25 Январь 2022, 22:08
PavelNK
Игорь Столяров писал(а): 25 Январь 2022, 15:50 Никто не будет просматривать тысячи страниц.
Но если Вы запросите у SQL сервера записи по москвичам с именем "Вазген" - то он их Вам вернёт.
И для открытия списка придётся получить весь результат ... :(
Нет! Все совсем не так.
Если попросите все, то вернет все.
А если попросите 20 из всего рекордсета, то вернет 20.
Попросите следующие 20, отдаст следующие 20.
Учите матчасть!

Clarion 11-12

Добавлено: 25 Январь 2022, 22:13
kreator
Я вот показывал видео работы моего поделия - https://yadi.sk/i/yTr1ygsvO5Ow-A. Посмотрите справочник объектов (где-то в середине видео). На экране дерево по одному файлу (на первой закладке), на других броуз по этой же таблице. При открытии окна оба грузятся по полной. В каждом списке по ~5000 записей, итого ~10000. Посмотрите как работает инкрементный локатор. Какие-то миллисекунды.

Clarion 11-12

Добавлено: 25 Январь 2022, 22:17
kreator
PavelNK писал(а): 25 Январь 2022, 22:08
Игорь Столяров писал(а): 25 Январь 2022, 15:50 Никто не будет просматривать тысячи страниц.
Но если Вы запросите у SQL сервера записи по москвичам с именем "Вазген" - то он их Вам вернёт.
И для открытия списка придётся получить весь результат ... :(
Нет! Все совсем не так.
Если попросите все, то вернет все.
А если попросите 20 из всего рекордсета, то вернет 20.
Попросите следующие 20, отдаст следующие 20.
Учите матчасть!
Как вы следующие попросите? А откуда вы узнаете сколько всего? Предварительно количество подсчитаете?

Clarion 11-12

Добавлено: 25 Январь 2022, 22:39
PavelNK
kreator писал(а): 25 Январь 2022, 22:17
PavelNK писал(а): 25 Январь 2022, 22:08
Игорь Столяров писал(а): 25 Январь 2022, 15:50 Никто не будет просматривать тысячи страниц.
Но если Вы запросите у SQL сервера записи по москвичам с именем "Вазген" - то он их Вам вернёт.
И для открытия списка придётся получить весь результат ... :(
Нет! Все совсем не так.
Если попросите все, то вернет все.
А если попросите 20 из всего рекордсета, то вернет 20.
Попросите следующие 20, отдаст следующие 20.
Учите матчасть!
Как вы следующие попросите? А откуда вы узнаете сколько всего? Предварительно количество подсчитаете?
мне не нужно знать сколько всего записей, я буду запрашивать до тех пор пока SQL-сервер будет мне возвращать их.
окончанием будет событие, когда сервер вернет мне меньше записей, чем я запрошу

Clarion 11-12

Добавлено: 25 Январь 2022, 23:23
kreator
PavelNK, Вы расскажите как запрашиваете. Матчасть-то Вы знаете. Чего не рассказать? Я подозреваю, что у Вас костыль из легированной стали. :mrgreen:

Clarion 11-12

Добавлено: 25 Январь 2022, 23:53
finsoftrz
Лучше про sql в отдельной ветке, если не надоело. А еще лучше архивы clalist почитать. Тогда и ветку создавать не надо будет.