Страница 101 из 158

Clarion 11-12

Добавлено: 26 Январь 2022, 0:37
RaFaeL
kreator писал(а): 25 Январь 2022, 22:00 Неужели у вас одни реестры по 10к записей?
Есть клиенты, у которых по миллиону

Clarion 11-12

Добавлено: 26 Январь 2022, 0:50
RaFaeL
kreator писал(а): 25 Январь 2022, 23:23 PavelNK, Вы расскажите как запрашиваете. Матчасть-то Вы знаете. Чего не рассказать? Я подозреваю, что у Вас костыль из легированной стали.
Это какое-то хитрое знание что ли?
Открываю окно, запрос такой, загружаем первые 32 записи (столько на экран убирается)
sql1.PNG
Делаю скролл на экран, загружаем следующие 32 записи
sql2.PNG
Очень быстро работает, нормальная постраничная загрузка

Clarion 11-12

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

Вот пример

Код: Выделить всё

select 
   *
  from dbo.Product as t
  order by
    t.Number
  offset 100 rows fetch next 20 rows only

Clarion 11-12

Добавлено: 26 Январь 2022, 7:08
PavelNK
Я уже много раз писал о преимуществах SQL-сервера.
Но каждый раз PutGet-чики скопом наваливались на меня и пытались убедить себя и меня, что PutGet - это супер, это гораздо лучше.
Флаг в руки!
Работаю с SQL-серверами(разные юзал) уже больше 20 лет
В очередной раз повторю: Работать намного удобнее, комфортнее, быстрее.
Но для того, чтобы все это воплотилось в жизнь, нужно хорошо знать, представлять как работает SQL-сервер и уметь ПРАВИЛЬНО писать запросы.

Clarion 11-12

Добавлено: 26 Январь 2022, 10:51
finsoftrz
Есть и другая точка зрения.
Я понял так, что Критор не умеет писать запросы. Развеселили с утра, спасибо. :lol:

Clarion 11-12

Добавлено: 26 Январь 2022, 12:06
gopstop2007
если не терминальный режим, клиенты на внешних приложениях, чтобы сервер не насиловать, справочники заранее подкачивать и следить за изменениями в реал. времени по логам, а не таскать все join-ы., тогда ответ с сервера будет макс 1кБ вместо 1 мБ

Clarion 11-12

Добавлено: 26 Январь 2022, 12:15
finsoftrz
gopstop2007 писал(а): 26 Январь 2022, 12:06 если не терминальный режим, клиенты на внешних приложениях, чтобы сервер не насиловать, справочники заранее подкачивать и следить за изменениями в реал. времени по логам, а не таскать все join-ы., тогда ответ с сервера не будет макс 1кБ вместо 1 мБ
Кстати, битрив это делает автоматом. Держит небольшие таблицы на клиенте и автоматически синхронизирует их с сервером. Наше приложение об этом ничего не знает. А данные из больших таблиц можно таскать пакетами записей, с фильтрацией на сервере и в виде набора полей, не всю запись целиком. Правда, кларин драйвер последнее не поддерживает, но имеет интерфейс к прямой работе с битрив, я через него делал класс для реализации этого функционала, на всякий случай, пока не пригодилось.
Но все это сейчас уже не так актуально, централизованные вычисления на терминальном сервере рулят.

Clarion 11-12

Добавлено: 26 Январь 2022, 12:19
finsoftrz
Сегодня обещают вебинар по новому релизу anyscreen 2.0. Можно запастись попкорном. В 19:00 начнется, трансляция через ютуб.

Clarion 11-12

Добавлено: 26 Январь 2022, 12:32
kreator
PavelNK, получается, что нужна реакция на каждое шевеление мыши и нажатие клавиатуры? Не пойму - чего дёргать сервер на каждые 32 записи? Ну хорошо. Rows у Вас постоянный, а offset всё время высчитывать надо на клиенте. Зачем?

Clarion 11-12

Добавлено: 26 Январь 2022, 12:45
kreator
PavelNK писал(а): 26 Январь 2022, 6:56 Вот пример
КОД: ВЫДЕЛИТЬ ВСЁ

select
*
from dbo.Product as t
order by
t.Number
offset 100 rows fetch next 20 rows only
Последнюю строчку Вы как в запрос броуза пишете?

Clarion 11-12

Добавлено: 26 Январь 2022, 13:03
PavelNK
kreator писал(а): 26 Январь 2022, 12:32 PavelNK, получается, что нужна реакция на каждое шевеление мыши и нажатие клавиатуры? Не пойму - чего дёргать сервер на каждые 32 записи? Ну хорошо. Rows у Вас постоянный, а offset всё время высчитывать надо на клиенте. Зачем?

Последнюю строчку Вы как в запрос броуза пишете?
Вариантов реализации море, все зависит от задач, предпочтений и т.д.
Можно дергать на каждые 32 записи, можно сделать больше, например, 32*2 или 32*3, а можно 32*10 и т.д.
Можно высчитывать на клиенте, а можно на сервере, написать ХП или ТФ в качестве параметров размер страницы и номер и т.д.
Все варианты расписать невозможно

Clarion 11-12

Добавлено: 26 Январь 2022, 13:12
Губин Игорь
ГРРРРРР! Или вы прекратите, или сделаете отдельную ветку "Срач по поводу SQL", или переберётесь с этим в другую существующую, или я "властию данной мне отечеством" :nr:

Две страницы не по теме, имхо, вполне достаточно :lol:

Clarion 11-12

Добавлено: 26 Январь 2022, 13:56
Ал

Clarion 11-12

Добавлено: 26 Январь 2022, 19:50
finsoftrz
Что-то мало народа про anyscreen 2.0 смотрят. Присоединяйтесть, поднимем массовость. :-)

https://www.youtube.com/watch?v=q9HJIYF9-MU

Clarion 11-12

Добавлено: 27 Январь 2022, 10:20
finsoftrz
Как впечатление? Самое интересное было посмотреть в конце на задумчивые лица организаторов. :-) Весь ролик про то, что можно отправлять из кларионовского приложения строку кода на javascript, который будет исполняться в броузере. Плюс какой-то странный "дизайнер" html кода. Типа пишем, как в примитивном редакторе, а он показывает это с html тегами. Сам список изменений помещается на страничку и в нем какие-то небольшие дополнения. При том, что версию обозначили сразу 2.0 после 1.2. Судя по всему, хорваты пытаются как-то отработать денежку от подписчиков, а подписчиков уже практически не осталось. В общем, все пытаются как-то сохранить лицо.