Pull to refresh
43
0
Поташников Николай Михайлович @fiddle-de-dee

Системный аналитик

Send message
Это случится потом. А пока Яковлев еще молод и прекрасен.
Странно. В веб-версии, по крайней мере визуально, складывается ощущение, что подгрузка данных идет по значению сортировочных полей, а не по смещению. В этом случае даже на многомиллионных таблицах задержек быть не должно. При случае посмотрю под профайлером, что там творит 1С с запросами. Но в любом случае отсутствие бегунка — это ну слишком грубо для такого программного продукта, которым пользуется пол страны (если не больше).
Еще чуть подправлю. Поисковики обычно не отрабатывают смещение в 1000020. И не показывают, сколько записей соответствует запросу. Это исключительно затратные операции. Поисковики только последовательно отображают записи, соответствующие запросу. Это быстрые операции. Именно поэтому поисковики не тормозят.
Веб-реализация — сложный вопрос, требующий отдельного исследования. В первой статье на миллионе записи при сортировке грид работает невозможно долго. На более менее больших таблицах автор все равно использует метод последовательной загрузки из СУБД.
  1. В версии 7.x, насколько я помню, 1С тянула полную таблицу. Собственно, эта была одна из причин исключительно медленной работы.
  2. В версии 8.2, по крайней мере в веб-реализации (см. http://trade.demo.1c.ru/trade/ru_RU/) бегунок по сути отключен.Если мы на первой записи, то бегунок в верхнем положении, если на последней — в нижнем. При выделении любой другой записи бегунок находится посередине. Я не считаю полное отключение бегунка лучшей реализацией работы с таблицей (хотя оно допустимо), поэтому об этом случае я даже не писал.
  3. В данном случае быстрота запросов обеспечивается тем, что мы вообще не знаем положение записи в совокупности. Мы просто получаем от СУБД записи на основании значений полей, по которым осуществляется сортировка (разумеется, по этим полям должен быть построен индекс — иначе даже 1С не поможет).
  4. К сожалению, отображение данных исключительно зависит от возможностей СУБД (принципиальных, а не конкретной реализации). И применение любого метода — это ряд компромиссов. В данном случае — отказ от бегунка. Интересно было бы узнать, есть ли еще продукты, кроме 1С, реализующие данный метод.

Information

Rating
5,390-th
Location
Москва, Москва и Московская обл., Россия
Registered
Activity