v7DBNet + 1Sqlite = ?

Автор item, 12 августа 2025, 11:50

« назад - далее »

Djelf

Цитата: item от 14 августа 2025, 20:31Для предварительного разогрева ведь like не нужен, какой запрос будет наиболее быстрым и эффективным?
Да чорт его знает как Виртш сделал кеширование, декомпилировать и копаться так себе удовольствие...

Немного мыслей вслух...
Частичное кеширование объекта очень маловероятно, это потребовало бы для каждого поля в объекте создавать отдельную структуру. Отметаем этот вариант, как тормозной и очень сложный в реализации.
Следовательно объект должен бысть кеширован целиком, но без табличной части, она должна быть кеширована отдельно.

Что по факту делает лайк? Он перебирает все объекты и для каждого проверяет соответствие. Это идет в цикле.
Т.е. у нас есть небольшой лаг связанный с проверкой лайка и позиционированием на следующий элемент.
И вот этот лаг, вроде бы совсем небольшой, микросекундный, может в цикле при сетевой задержке и приводить к тормозам при запросе без прогрева.

Видимо просто select descr from справочник_номенклатура, или не descr, а id, будет эффективным для прогрева.
И! Можно затем проверить любое другое поле справочника на скорость выборки, после прогрева, если кеширование частичное, то будет лаг, если полное, то будет одинаково быстро по каждому полю справочника.

Еще один момент: чорный запрос из 1с может быть более эффективен для прогрева, чем прямой запрос 1sqlite, я это не утверждаю, но это возможно. Это надо проверять.

Arbuz

Цитата: item от 14 августа 2025, 20:31Для предварительного разогрева ведь like не нужен, какой запрос будет наиболее быстрым и эффективным?
что-то типа, но он по определению будет не самым быстрым, а наоборот:
Цитата
SELECT MAX(rowid) AS cnt FROM Справочник_Номенклатура

Arbuz

descr нельзя использовать, т.к. это индексированное поле и wirth кэширует страницами, то нужен полный скан таблиц. И я неправильно понял про скорость — max(rowid) будет самым быстрым полным сканом.

Djelf

Мне кажется, что любой запрос с перебором будет не эффективным с точки зрения клиента.
Все рано весь справочник будет передан на клиент, возможно что объект Запрос этот момент ускорит.
Это включит другой механизм платформы, я точно это не знаю, но это возможно.
Мы туда не залезали... это неисследованная область клюшек, хрен знает где это вообше находится и в какой библиотеке... я не нашел...