powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Наши за рубежом [закрыт для гостей] / Что происходит на рынке DB вакансий в ЕС?
25 сообщений из 375, страница 14 из 15
Что происходит на рынке DB вакансий в ЕС?
    #21640202
Фотография Megabyte
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA 
Megabyte 
пропущено...

Эмм. Я даже не знаю, с чего начать. Неоптимальные запросы от простых разработчиков, выросший объем данных, изменения в логике работы с таблицой при доработках. Все это совершенно не обязательно вылезет сразу в виде проблемы производительности. Это выстрелит через неделю\месяц\полгода\год. Ну это я вам самые простые варианты назвал. + может не хватать ресурсов железа, и надо определить, каких конкретно.
1) Дак как часто-то выстреливает?
Megabyte 
пропущено...

Вы про конкретно нашу систему на моей текущей работе спрашиваете? А какая разница, как что на моей работе? Мы же вроде не ее здесь обсуждаем.
2) Если релизы раз в полгода, а проблемы возникают постоянно, то хранимки править конечно удобно (правда опять возникает вопрос о постоянстве проблем).
А если система такая, что хоть сто раз в день накатывай/откатывай версии, то и разработчик в случае чего поправит свой код и пользователи ничего не заметят.
1) Абсолютно по-разному.
Бывает так, запустили проект, индексы не сделали. Их не сделали не обязательно потому что не разбираются в этом, а потому, что на этапе разработки проекта еще не было известно, какие отчеты захочет заказчик. Данных за неделю накопилось, проект стал тормозить.

А бывает так. Другой разработчик сделал какой-то полезный для бизнеса функционал, сделал джоб для заполнения новой структуры данных. Первые полгода все было хорошо, потом у нас стал тормозить импорт данных(первичные данные переформатировались и заливались в новую более удобную для анализа структуру). Источник проблемы был найден, но отключить(джоб) его уже нельзя. Данные функционал необходим для работы.

Запустили проект, несколько месяцев он работал. Даже не то, чтобы тормозил, но запросы по этому проекту часто попадали в список самых неоптимальных\медленных. Одними индексами там было не обойтись, надо было, для начала, поменять алгоритм работы проекта, т.к. делать индекс на текущей структуре было бы не правильно\не оптимально.

Ну и я ежедневно мониторю, какие индексы необходимы для запросов. В день по 2-3 индекса делаю, либо дорабатываю(меняю один индекс на другой). А то если втупую лепить индексы по статистике, то будет куча похожих индексов.

2) Мы не продаем ПО, мы продаем услуги(аутсорсинговый call-центр), т.е. вся система у нас внутри. Как такового релиза нет, есть просто заявки на доработку отчета\другие услуги. Как разработчик сделал, протестил по возможности, менеджер проверил, тут же это и применяется в системе.
Просто дело в том, что другие разработчики не разбираются в оптимизации SQL-запросов, но делают отчеты\другие услуги. :)
И если у нас тормоза, то нам нельзя ждать, пока разработчик разберется, поправит, иначе заказчик просто нас пошлет, если у него будет отчет грузиться по 10мин или скрипт сценария разговора у оператора по проекту будет работать со скрипом и клиенты просто будут бросать трубку. У нас даже небольшой простой системы\проекта очень дорого нам обойдется финансово.
...
Рейтинг: 0 / 0
Что происходит на рынке DB вакансий в ЕС?
    #21640767
kDnZP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stenford 
т.е. типа отчета?
т.е. не типа отчета ни разу... бизнес называет это срез времени :), у меня свое определение этому безобразию...
stenford 
вы откровенно путаетесь в том, для чего ORM предназначены, никто их для целей ETL никогда не применяет
ну да, ну да... я путаюсь, ок

Вот вам еще один пример. Кодогенерация у той же аксапты местами э... странная. Есть штук 5 таблиц по 200 полей, что-то заджойнено, и если память не подводит 2 селфджойна + что-то в корреляции. Сфигали эта глупая железяка пытается тянуть ВСЕ поля всех таблиц, если я явно указал чего мне нужно? Казалось бы - ну и ладно, пусть перечисляет все поля с псевдонимами, но нет - система падает с сообщением что буфер для запроса маленький, и иди крути ключи запуска апп-серверов где можно буфер увеличить... а ведь это налету не сделаешь, нужен рестарт. Ах да, а динамические запросы, которые вообще пользователям в виде конструктора отданы? Там ведь могут быть очень серьезные полеты фантазии... Вот вам ORM как есть, а с учетом того что вся работа идет от имени одного пользователя, то попытки профайлить происходящее еще та песня.

Впрочем, я ведь об ORM похоже ничего не знаю, ну и ладно. Почитаю вас, вдруг чего интересного и нового напишите. :)
...
Рейтинг: 0 / 0
Что происходит на рынке DB вакансий в ЕС?
    #21640945
CawaSPb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stenford 
Ruuu 
И разумеется «по цепочке» план в хп не ухудьшается.
в подзапросе. Разумеется ухудшает и еще как
Ну, мы же не говорим про дебильные недо-СУБД, компилирующие планы функций отдельно, не встраивая предварительно функцию напрямую в запрос...
...
Рейтинг: 0 / 0
Что происходит на рынке DB вакансий в ЕС?
    #21640971
CawaSPb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stenford 
Скажу даже больше, текущий проект например мы делаем на архитектуре микросервисов, для тех кто не в курсе - это когда монолитная система бьется на несколько независимых частей, включая базы данных.
И тут с производительностью наступает п.... :)
Нет, очень модно, красиво, но простенький веб-сайтик с каталогом на несколько тысяч позиций начинает отвечать секунд по 10.
stenford 
SERG1257 
Еще один момент: stenford противопоставляет ORM vs хранимки, забывая что его ORM это новая программа, а та что с хранимками это старая программа
ORM существуют уж лет 15 наверное
Да, проблема старая.
The Vietnam of Computer Science (Posted on Jun 26, 2006).
...
Рейтинг: 0 / 0
Что происходит на рынке DB вакансий в ЕС?
    #21640989
CawaSPb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще, спор отчасти бестолковый, зависит от многих "но". Например, мы ОРМ натягиваем на существующую модель данных или модель данных генерится ОРМ?
...
Рейтинг: 0 / 0
Что происходит на рынке DB вакансий в ЕС?
    #21641240
stenford
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kDnZP 
т.е. не типа отчета ни разу... бизнес называет это срез времени :), у меня свое определение этому безобразию...
отчетами я называю все, что вываливается пользователю/системе без дальнейшей бизнес-обработки. На самом деле на ORM можно создавать достаточно сложные отчеты, язык это позволяет, просто обычно это не требуется
kDnZP 
Вот вам еще один пример. Кодогенерация у той же аксапты местами э... странная. Есть штук 5 таблиц по 200 полей, что-то заджойнено, и если память не подводит 2 селфджойна + что-то в корреляции. Сфигали эта глупая железяка пытается тянуть ВСЕ поля всех таблиц, если я явно указал чего мне нужно?
ORM (по крайней мере EF, про аксапту не знаю) не тянет все поля, там указываются необходимые поля и sql генерируется только для них. ORM'ы уже достаточно взрослые продукты, что-бы совершать уж совсем детские ошибки
...
Рейтинг: 0 / 0
Что происходит на рынке DB вакансий в ЕС?
    #21641242
stenford
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CawaSPb 
Ну, мы же не говорим про дебильные недо-СУБД, компилирующие планы функций отдельно, не встраивая предварительно функцию напрямую в запрос...
в нормальных субд проблема не изчезнет по-определению, если индекс по полю в подзапросе не нужен на входной параметр - то скан никуда не денется
...
Рейтинг: 0 / 0
Что происходит на рынке DB вакансий в ЕС?
    #21641244
stenford
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CawaSPb 
И тут с производительностью наступает п.... :)
Нет, очень модно, красиво, но простенький веб-сайтик с каталогом на несколько тысяч позиций начинает отвечать секунд по 10.
на простенький вебсайт микросервисов делать и не будут, они появляется когда наступает п.. со сложностью и поддерживаемостью :)
...
Рейтинг: 0 / 0
Что происходит на рынке DB вакансий в ЕС?
    #21641248
CawaSPb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stenford 
CawaSPb 
Ну, мы же не говорим про дебильные недо-СУБД, компилирующие планы функций отдельно, не встраивая предварительно функцию напрямую в запрос...
в нормальных субд проблема не изчезнет по-определению, если индекс по полю в подзапросе не нужен на входной параметр - то скан никуда не денется
Это вы уже про какую-то другую свою частную ситуацию. Возможно интересно обсудить, но донесите тогда детали.

Вышеприведённое - про:
stenford 
без recompile неверный план подзапроса/функции в хранимке может по цепной реакции потянуть неверные решения для остального запроса
Во "взрослой" СУБД текст функций (как табличных, так и скалярных) "встраивается" в запрос (из хранимки ли, из приложения ли) на уровне текста (грубо - инлайнится), потом составляется план получившейся конструкции. И рекомпилится, не рекомпилится, рекомпелится "по средам при нахождении луны в первой четверти" в зависимости от "пожеланий трудящихся".
Ни к чему понятие "план фукции". Возможно, что вся фунция схлопнется до какого-то тривиального действия или вообще к константе на этапе компиляции.

Нет, можно специально подвывернуться, чтобы ф-я вдруг стала некоторым чёрным ящиком. Тогда да, будет каждый раз вызов (или не каждый, если она DETERMINISTIC).
...
Рейтинг: 0 / 0
Что происходит на рынке DB вакансий в ЕС?
    #21641574
stenford
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CawaSPb 
Во "взрослой" СУБД текст функций (как табличных, так и скалярных) "встраивается" в запрос (из хранимки ли, из приложения ли) на уровне текста (грубо - инлайнится), потом составляется план получившейся конструкции. И рекомпилится, не рекомпилится, рекомпелится "по средам при нахождении луны в первой четверти" в зависимости от "пожеланий трудящихся".
Ни к чему понятие "план фукции". Возможно, что вся фунция схлопнется до какого-то тривиального действия или вообще к константе на этапе компиляции.
так именно по этой причине скан и может повалить весь остальной запрос, если где-то в подзапросе выбрался скан - то остальной план конечно подстроится по него, со всеми вытекающими. Ну т.е. можно конечно сказать что по стечению обстоятельств убыток от скана может невилироваться остальным планом где вдруг это принесло какую-то неожиданную пользу. Но это называется слепым везением
...
Рейтинг: 0 / 0
Что происходит на рынке DB вакансий в ЕС?
    #21641577
stenford
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CawaSPb 
Например, мы ОРМ натягиваем на существующую модель данных или модель данных генерится ОРМ?
и так и так можно, в зависимости что уже есть ДБ или бизнес-модель
...
Рейтинг: 0 / 0
Что происходит на рынке DB вакансий в ЕС?
    #21642012
kDnZP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stenford 
отчетами я называю все, что вываливается пользователю/системе без дальнейшей бизнес-обработки.
Вот вы прицепились к отчетам и тому что ими называете. Нет ничего проще отчетов. Это вообще ерунда и не стоит рассмотрения.
stenford 
ORM (по крайней мере EF, про аксапту не знаю) не тянет все поля, там указываются необходимые поля и sql генерируется только для них. ORM'ы уже достаточно взрослые продукты, что-бы совершать уж совсем детские ошибки
К сожалению, я уже не помню точный набор джойнов, при котором у ORM сносило крышу, но уверен что EF в этом плане далеко не ушла, ведь суть (и писатель) та же и тот же. Вообще, если память не изменяет, то EF, linq как раз с наработок Аксапты и выросли. Ну да ладно, надеюсь в EF хотя бы допилили статическую проверку на использование полей объекта, которые не указаны в запросе и заполнены дефолтными значениями? А то ведь это та еще подлая грабля, для обхода которой как раз частенько программисты тянули целиком объект. :)
...
Рейтинг: 0 / 0
Что происходит на рынке DB вакансий в ЕС?
    #21642016
kDnZP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stenford 
так именно по этой причине скан и может повалить весь остальной запрос, если где-то в подзапросе выбрался скан - то остальной план конечно подстроится по него, со всеми вытекающими. Ну т.е. можно конечно сказать что по стечению обстоятельств убыток от скана может невилироваться остальным планом где вдруг это принесло какую-то неожиданную пользу. Но это называется слепым везением
Вы о какой СУБД это говорите? Просто на тот же SQL Server я ваше утверждение не могу натянуть вообще никак... Скан это не всегда плохо для начала, если запрос будет обрабатывать 80% таблицы, то скан для данного случая будет чуть ли не самым эффективным вариантом.
...
Рейтинг: 0 / 0
Что происходит на рынке DB вакансий в ЕС?
    #21642098
CawaSPb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stenford 
CawaSPb 
Во "взрослой" СУБД текст функций (как табличных, так и скалярных) "встраивается" в запрос (из хранимки ли, из приложения ли) на уровне текста (грубо - инлайнится), потом составляется план получившейся конструкции. И рекомпилится, не рекомпилится, рекомпелится "по средам при нахождении луны в первой четверти" в зависимости от "пожеланий трудящихся".
Ни к чему понятие "план фукции". Возможно, что вся фунция схлопнется до какого-то тривиального действия или вообще к константе на этапе компиляции.
так именно по этой причине скан и может повалить весь остальной запрос, если где-то в подзапросе выбрался скан - то остальной план конечно подстроится по него, со всеми вытекающими. Ну т.е. можно конечно сказать что по стечению обстоятельств убыток от скана может невилироваться остальным планом где вдруг это принесло какую-то неожиданную пользу. Но это называется слепым везением
Не. Это называется стоимостной оптимизацией. Иногда, конечно, выливающейся в чистое везение или невезение :)

Но, похоже, вы не догоняете. Нет понятия "плана ф-и" и "остального плана". После автоматического встраивания тела функции запрос может быть вообще переписан компилятором так, что ничего похожего на оригинальный код вы там не найдёте. Какие-либо условия могут уйти, например, вниз в дереве подзапросов, добавившись к коду ф-и, что может повлиять на выбор индекса для доступа. А может код будет оставлен как есть.
Допустим, функция - select по таблице по какому-либо критерию. Что там будет использоваться (table scan, index scan, partial index scan, ...), будет выбираться для каждого конкретного общего запроса по-своему (и рекомпилиться/не рекомпилиться по желанию Developer'а/DB админа).
...
Рейтинг: 0 / 0
Что происходит на рынке DB вакансий в ЕС?
    #21642116
CawaSPb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stenford 
CawaSPb 
Например, мы ОРМ натягиваем на существующую модель данных или модель данных генерится ОРМ?
и так и так можно, в зависимости что уже есть ДБ или бизнес-модель
Понятно, что и так, и так можно. Но спор то идёт о том, плохи нынешние ОРМ или нет. Без этого контекста (кого на кого натягиваем) спор ни о чём. Принципиально разные ситуации (возьмите хоть работу с наследованием).
...
Рейтинг: 0 / 0
Что происходит на рынке DB вакансий в ЕС?
    #21643221
stenford
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kDnZP 
Вы о какой СУБД это говорите? Просто на тот же SQL Server я ваше утверждение не могу натянуть вообще никак... Скан это не всегда плохо для начала, если запрос будет обрабатывать 80% таблицы, то скан для данного случая будет чуть ли не самым эффективным вариантом.
CawaSPb 
Не. Это называется стоимостной оптимизацией. Иногда, конечно, выливающейся в чистое везение или невезение :)
Но, похоже, вы не догоняете. Нет понятия "плана ф-и" и "остального плана". После автоматического встраивания тела функции запрос может быть вообще переписан компилятором так, что ничего похожего на оригинальный код вы там не найдёте. Какие-либо условия могут уйти, например, вниз в дереве подзапросов, добавившись к коду ф-и, что может повлиять на выбор индекса для доступа
Да, именно про стоимостную оптимизацию и говорю. Видимо нужен пример т.к. ходит кругами

Например для простоты возьмем такой:
Код
1.
2.
3.
4.
5.
6.
select Postcode from dbo.Cities
where Name = 'Moscow'
union
select Postode from dbo.Cities a
join dbo.Streets b on a.StreetId = b.StreetId
where b.StreetName = 'Rare street'
Предлополжим, что первая часть запроса уводит dbo.Cities в скан, и также предположим что запускается это для 3 улиц: 'Rare street', 'Моrе rare street', 'Yet even more rare street'.
Как вы-же совершенно правильно говорите, оптимизатор попытается схлопнуть оба запроса, и в итоге может решить, что вместо джойна по индексу во второй части union можно заюзать результаты скана из первой части, т.е. сравнивать улицу с каждой записью из первой части или типа того, несмотря на то, что при запуске второй части отдельно выбрался-бы поиск по индексу
В простом примере это не сильно очевидно, но при использовании ORM таких запросов в общем случае не будет. Будет 2 разных метода, один на поиск по городам, другой - по улицам. В результате у меня будет один скан на города, и 3 джойна с индексами по улицам. В случае использования хранимки будет 3 скана со сравнением по каждой записи из таблицы с улицами.
С увеличением сложности запросов и хранимок разница будет только возрастать
...
Рейтинг: 0 / 0
Что происходит на рынке DB вакансий в ЕС?
    #21643229
stenford
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CawaSPb 
Понятно, что и так, и так можно. Но спор то идёт о том, плохи нынешние ОРМ или нет. Без этого контекста (кого на кого натягиваем) спор ни о чём. Принципиально разные ситуации (возьмите хоть работу с наследованием).
в смысле? Вы о том, что модель может сгенерироваться коряво и типа с ней будет плохо работать?
...
Рейтинг: 0 / 0
Что происходит на рынке DB вакансий в ЕС?
    #21643308
Фотография Megabyte
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stenford 
Предлополжим, что первая часть запроса уводит dbo.Cities в скан, и также предположим что запускается это для 3 улиц: 'Rare street', 'Моrе rare street', 'Yet even more rare street'.
Как вы-же совершенно правильно говорите, оптимизатор попытается схлопнуть оба запроса, и в итоге может решить, что вместо джойна по индексу во второй части union можно заюзать результаты скана из первой части, т.е. сравнивать улицу с каждой записью из первой части или типа того, несмотря на то, что при запуске второй части отдельно выбрался-бы поиск по индексу
В простом примере это не сильно очевидно, но при использовании ORM таких запросов в общем случае не будет. Будет 2 разных метода, один на поиск по городам, другой - по улицам.
В данном простом примере в результате будет выполнено 2 запроса, вместо одного. А если, например, этот запрос выполняется 1000 раз в секунду, в итоге будет 2000 запросов, вместо 1000.

з.ы. Запрос изначально кривой, с кривой логикой, странно ожидать, что оптимизатор постоит идеальный план. Он же не ИИ.
...
Рейтинг: 0 / 0
Что происходит на рынке DB вакансий в ЕС?
    #21643460
gpu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stenford 
той разницей что когда у вас хранимка в сотни строк, с ветвлением по массе условий и прочего - то good luck получить там оптимальный план на последующие вызовы
Находим в оракле такое понятие как reference cursor и хранимка превращяется в одну строчку.
А на клиенте сортируем добавляем условия и т.д. тем же linq.
Ето для селекта конечно.
для создания изменения сложного об'екта таки да сотни строк имеют право быть.
...
Рейтинг: 0 / 0
Что происходит на рынке DB вакансий в ЕС?
    #21643464
gpu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yabs 
В ОРМ кстати можно логить все запросы
Чтобы протоколировать все что происходит в базе ОРМ не нужен. Делается штатными методами.
...
Рейтинг: 0 / 0
Что происходит на рынке DB вакансий в ЕС?
    #21643587
kDnZP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stenford 
Предлополжим, что первая часть запроса
???
Это вообще-то один запрос, и если по статистике на [Name] = 'Moscow' получается вес .8 к примеру, то скан более чем оправдан, если же индекса вообще нет - то как бы добавить нужно. Вот вам на для помедитировать над планами и тем что и почему получается:
Код
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
BEGIN TRAN

CREATE TABLE dbo.Cities (Name VARCHAR(20) NOT NULL, PostCode VARCHAR(10) NOT NULL CONSTRAINT DF_Cities_PostCode DEFAULT('xxx'), StreetId INT NOT NULL CONSTRAINT DF_Cities_StreetId DEFAULT(1))
INSERT INTO dbo.[Cities] ( [Name] )
VALUES ( 'Moscow'),( 'Moscow'),( 'Moscow'),( 'Moscow'),( 'Moscow'),( 'Moscow'),('ZXC')

CREATE TABLE dbo.Streets(PostCode VARCHAR(10) NOT NULL CONSTRAINT DF_Streets_PostCode DEFAULT(''), StreetId INT NOT NULL CONSTRAINT DF_Streets_StreetId DEFAULT(1), StreetName VARCHAR(20) NOT NULL)
INSERT INTO [dbo].[Streets] ( [PostCode]
                            , [StreetId]
              , [StreetName]
               )
VALUES ( 'zzz' -- PostCode - varchar(10)
       , 1  -- StreetId - int
     , 'Rare street'
    )

SELECT Postcode from dbo.Cities
where Name = 'Moscow'
union
select a.Postcode from dbo.Cities a
join dbo.Streets b on a.StreetId = b.StreetId
where b.StreetName = 'Rare street'

CREATE NONCLUSTERED INDEX IX ON dbo.Cities([Name]) INCLUDE ([StreetId])
CREATE NONCLUSTERED INDEX IX ON dbo.[Streets]([StreetName]) INCLUDE ([StreetId])

SELECT Postcode from dbo.Cities
where Name = 'Moscow'
union
select a.Postcode from dbo.Cities a
join dbo.Streets b on a.StreetId = b.StreetId
where b.StreetName = 'Rare street'

CREATE NONCLUSTERED INDEX IX2 ON dbo.Cities([StreetId],[Name])

SELECT Postcode from dbo.Cities
where Name = 'Moscow'
union
select a.Postcode from dbo.Cities a
join dbo.Streets b on a.StreetId = b.StreetId
where b.StreetName = 'Rare street'

ROLLBACK
Megabyte 
з.ы. Запрос изначально кривой, с кривой логикой, странно ожидать, что оптимизатор постоит идеальный план. Он же не ИИ.
Не нужно недооценивать оптимизатор, тупит он не столь чтобы часто. Программист тупит чаще ИМХО. :)

* А вообще надоело. Всем спасибо, я свободен. :)
...
Рейтинг: 0 / 0
Что происходит на рынке DB вакансий в ЕС?
    #21643863
stenford
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Megabyte 
В данном простом примере в результате будет выполнено 2 запроса, вместо одного.
в смысле 2? Будет один, но его план будет зависеть от хотелок оптимизатора
...
Рейтинг: 0 / 0
Что происходит на рынке DB вакансий в ЕС?
    #21643866
stenford
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kDnZP 
???
Это вообще-то один запрос, и если по статистике на [Name] = 'Moscow' получается вес .8 к примеру, то скан более чем оправдан, если же индекса вообще нет - то как бы добавить нужно.
рассматривается ситуация когда скан влияет на план в целом
...
Рейтинг: 0 / 0
Что происходит на рынке DB вакансий в ЕС?
    #21644605
Фотография Megabyte
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kDnZP 
Не нужно недооценивать оптимизатор, тупит он не столь чтобы часто. Программист тупит чаще ИМХО. :)
Безусловно. :)
...
Рейтинг: 0 / 0
Что происходит на рынке DB вакансий в ЕС?
    #21644614
Фотография Megabyte
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stenford 
Megabyte 
В данном простом примере в результате будет выполнено 2 запроса, вместо одного.
в смысле 2? Будет один, но его план будет зависеть от хотелок оптимизатора
Это в вашем случае использования ОРМ будет 2 отдельных запроса\метода, что как бы не очень хорошо!
В случае, если запрос вызывается редко хрен бы с ним, а если часто, то минус производительность.
...
Рейтинг: 0 / 0
25 сообщений из 375, страница 14 из 15
Форумы / Наши за рубежом [закрыт для гостей] / Что происходит на рынке DB вакансий в ЕС?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]