Здравствуйте, e.thrash, Вы писали:
ET>Как варианты кроме индексов на селекты? хотелось бы иметь готовый объект заказа, может базы умеют делать на базе селекта готовые объекты в базе которые быстро мапятся на классы?
Здравствуйте, e.thrash, Вы писали:
ET>Есть форма заказа. ET>Большая форма, которая в базе размазана на 10 таблиц. ET>На больших заказах форма открывается по 3 минуты на быстром железе даже. ET>Как варианты кроме индексов на селекты? хотелось бы иметь готовый объект заказа, может базы умеют делать на базе селекта готовые объекты в базе которые быстро мапятся на классы?
А где причина тормозов? В том, что SELECT-ы в SQL-запросе долго выполняются или в том, что ORM на клиенте из резалтсета долго объект строит?
Структура таблиц какая?
Может у тебя в объекте какие-нибудь фотки или тесты по 10 МБ в каждой строке заказа присутствуют? Тогда, может быть, стоит о частично ленивой загрузке подумать?
Или у тебя база NoSQL?
Красота — наивысшая степень целесообразности. (c) И. Ефремов
Здравствуйте, e.thrash, Вы писали:
С>>PS: для любителей экстрима в MS SQL Server есть возможность выборки древовидных данных в виде одного XML (SELECT FOR XML).
ET>я видел это и где-то даже юзал. там оверхеда дофига. ET>я скорее имел ввиду чтобы была возможность иметь бинарносериализованный объект
Я вот не понимаю, у вас что, размер ответа в 10 МБ в сериализованном JSON между бэком и фронтом? Откуда тормоза-то, вы например базу профилировали?
ET>хотелось бы иметь готовый объект заказа, может базы умеют делать на базе селекта готовые объекты в базе которые быстро мапятся на классы?
Класть в базу 1 большой xml всех данных формы.
Есть форма заказа.
Большая форма, которая в базе размазана на 10 таблиц.
На больших заказах форма открывается по 3 минуты на быстром железе даже.
Как варианты кроме индексов на селекты? хотелось бы иметь готовый объект заказа, может базы умеют делать на базе селекта готовые объекты в базе которые быстро мапятся на классы?
Здравствуйте, e.thrash, Вы писали:
ET>Есть форма заказа. ET>Большая форма, которая в базе размазана на 10 таблиц. ET>На больших заказах форма открывается по 3 минуты на быстром железе даже. ET>Как варианты кроме индексов на селекты?
Cache ? ET>хотелось бы иметь готовый объект заказа, ET>может базы умеют делать на базе селекта готовые объекты в базе
базы вообще-то умеют исполнять хранимые процедуры и имеют триггеры, которые могут обновлять зависимости например помечать кэш, как не валидный. ET>которые быстро мапятся на классы?
php serializeunserialize
Здравствуйте, e.thrash, Вы писали:
ET>Есть форма заказа. ET>Большая форма, которая в базе размазана на 10 таблиц. ET>На больших заказах форма открывается по 3 минуты на быстром железе даже.
Если выполняется много запросов последовательно, то можно попробовать их объединить в один и вычитать
датаридером(если C#).
Если просто много данных, можно увеличить буфер запроса(в ms sql до 64К можно увеличить). в случае если данных много при малом буфере данные отправляются в несколько пакетов.
т.е. если пинг 50 мс, то и данные будут во столько же раз дольше до клиента идти.
Здравствуйте, e.thrash, Вы писали:
ET>Как варианты кроме индексов на селекты? хотелось бы иметь готовый объект заказа, может базы умеют делать на базе селекта готовые объекты в базе которые быстро мапятся на классы?
Объектные БД умеют, реляционные нет. А вообще выше правильно сказали: кэширование вас спасет.
Здравствуйте, e.thrash, Вы писали:
ET>На больших заказах форма открывается по 3 минуты на быстром железе даже. ET>Как варианты кроме индексов на селекты?
если тормозит например выборка строк детализации заказа по ид заказа, то кроме построения индекса вариантов нет
Здравствуйте, Слава, Вы писали:
С>Здравствуйте, e.thrash, Вы писали:
ET>>На больших заказах форма открывается по 3 минуты на быстром железе даже.
С>Так вы померьте, посмотрите что там тормозит.
С>PS: для любителей экстрима в MS SQL Server есть возможность выборки древовидных данных в виде одного XML (SELECT FOR XML).
я видел это и где-то даже юзал. там оверхеда дофига.
я скорее имел ввиду чтобы была возможность иметь бинарносериализованный объект