Здравствуйте, Anatolix, Вы писали:
A>Здравствуйте, Merle, Вы писали:
A>>>Щазззз. Все равно человек который примерно понимат как запросы выполняются гораздо более полезен чем тот кто RDBMS вообще не видел. M>>Ага, ты это расскажи тому, кто за MSSQL'истом под Oracle переписывал, или наоборот... M>>Каждый случай индивидуален.
A>Это так же как переписывает с GNU C на MSVC и наоборот. Гоблины лепят. Хорошие программисты задумываются о переносимости(не пишут переносимо все т.к. иногда это невозможно или того не стоит, но хотя бы могут сказать что вот эти 15% запросов нужно будет переписать а остальные нет)
A>>>В теории RDBMS ничего кардинально не изменилось годов так с 70-80. Так что опыт в любой базе пригодится. А Transisolation под конкретный сервер выучить это фигня все. M>>То, что в теории ничего не изменилось — полностью согласен, но есть некоторые нюансы. Во первых практикующие программисты не очень склонны увлекаться теорией.
A>Писать правильные быстрые запросы это практика и она тоже не изменилась.
>>Во вторых людам свойственно думать, что если похоже, то уж как-нибудь разбирусь, SELECT-то — он везде одинаково пишется и ленятся заглянуть лишний раз в документацию, что может закончится очень печально. A>А у люжей без опыта есть тендеция лепить как получится и это почти всегда оканчивается печально.
>>И, наконец, в третьих, теория RDBMS конечно практически не поменялась, но даже в этой теории Multiversioning и Blocking Concurrency Control местами довольно серьезно отличаются, не говоря уже о том, что конкретные реализации всегда имеют свои далеко не очевидные особенности.
A>Здесь проблемы будут при OLTP системах с длинными транзакциями или которые удаляют большое количество записей по ходу работы. И то и другое редкость(иногда встречаются системы которые делают это но неоправданно, т.е. можно сделать без этого и проще). Никто и не сомневается что в 10% случаях без профи не обойтись. Но тогда нужно например и искать выделенного спеца по Oracle.
M>>Вообщем суть в том, что навыки наработанные для одного сервера не всегда годятся для другого, и в некоторых случаях проще научить заново чем периучивать, новичек по крайней мере не будет питать иллюзий, что он что-то знает.
A>Как правило новички считают что они знают все, либо их просто ничего не волнует. Классический пример — возмешь новичка первое что сделает это начнет SQL формировать с помощью сложения строк вместо параметров. Наступит потом что в параметре будет кавычка. Человек с опытом в любом сервер на это уже наступал наверняка
Тут про параметризацию надо упомянуть что Oracle кэширует запрос.
Т.е. неважно, может даже в параметрах и не будет кавычек, но параметризация позволяет значительно повысить производительность.