|
|
|
PL/SQL vs.Transact SQL
|
|||
|---|---|---|---|
|
#18+
Я так полагаю, что глобальные сравнения типа Pl/SQL vs. T-SQL или oracle vs. mssql имеют мало смысла, так как эти системы достаточно различны, мало людей могут похвастатся реально глубокими познаниями сразу в них обоих (хотя конечно количество тех кто считает себя профи значительно больше :)) ). Что-бы получить хоть какую-то реальную глобальную картину происходящего, нужно меряться не бессмысленными сравнениями типа "а нафига там временная таблица", а такими-же глобальными фактами как например тесты tpc. Я-бы к ним еще добавил время, затраченное на написание, настройку и поддержку системы (в человеко-часах) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2009, 07:30 |
|
||
|
PL/SQL vs.Transact SQL
|
|||
|---|---|---|---|
|
#18+
to pkarklin. Интересно, а как эти временные таблицы хранятся в MSSQL? Из уже написанного - в tempdb - можно сделать вывод, что на диске? Т.е. аналогично оракловым gtt? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2009, 12:36 |
|
||
|
PL/SQL vs.Transact SQL
|
|||
|---|---|---|---|
|
#18+
Solmyrto pkarklin. Интересно, а как эти временные таблицы хранятся в MSSQL? Из уже написанного - в tempdb - можно сделать вывод, что на диске? Т.е. аналогично оракловым gtt? И временные таблицы и табличные переменные "храняться" в tempdb. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2009, 12:55 |
|
||
|
PL/SQL vs.Transact SQL
|
|||
|---|---|---|---|
|
#18+
Solmyrto pkarklin. Интересно, а как эти временные таблицы хранятся в MSSQL? Из уже написанного - в tempdb - можно сделать вывод, что на диске? Т.е. аналогично оракловым gtt? так в Оракле они просто хранятся, а MS SQL они на лету создаются и убиваются - это же намного круче! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2009, 13:29 |
|
||
|
PL/SQL vs.Transact SQL
|
|||
|---|---|---|---|
|
#18+
дддддд, если на операцию создания и удаления времянок тратится лишнее время, то оракловый подход круче ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2009, 13:34 |
|
||
|
PL/SQL vs.Transact SQL
|
|||
|---|---|---|---|
|
#18+
ОКТОГЕНдддддд, если на операцию создания и удаления времянок тратится лишнее время, то оракловый подход кручене путайте реализацию и концепцию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2009, 14:18 |
|
||
|
PL/SQL vs.Transact SQL
|
|||
|---|---|---|---|
|
#18+
ОКТОГЕНдддддд, на операцию создания и удаления времянок тратится лишнее время А когда мелкософт волновала проблема быстродействия? У Билла на этот случай один ответ - "вы используете устаревшее оборудование" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2009, 14:25 |
|
||
|
PL/SQL vs.Transact SQL
|
|||
|---|---|---|---|
|
#18+
pkarklin И временные таблицы и табличные переменные "храняться" в tempdb. Вроде = что делают - хранятся, что делать - храниться. Или это у меня такой неверный оракловый подход? :) Из данного факта, учитывая так широко освещенную вами их необходимость, удобность, производительность и прямо таки одиозность, возникает целый комплекс вопросов: 1) если брать врем. таблицы MSSQL (втмс) как аналог оракловых коллекций и массивов, т.е. для хранения промежуточных результатов запроса для послед. обработки (проведение каких то расчетов и проч.), то в оракуле данные объекты хранятся таки в памяти, а втмс на диске. 2) если брать втмс как аналог оракловых врем. таблиц (вто), собственно также для хранения промежут. результатов, то вто типизированы, при вызове процедуры не создаются каждый раз, их использование не логируется. У втмс, как я понял, все наоборот. 3) если брать втмс как средство разбиения сложных запросов на простые, то в оракуле оно и не нужно. Вы не задавались вопросом, почему в оракуле предпочтение отдается сложному запросу перед процедурным подходом? Именно потому, что запрос выбирает данные из обычных (реальных) таблиц, в которых уже все оптимизировано для быстрого поиска (индексы и др.), плюс ссылочная целостность, статистика, различная бизнес-логика. Чего очевидно не наблюдается в втмс. Навешивание на втмс чего-то подобного, я думаю, бесперспективное занятие. А если все же надо материализовать результаты, то хинт в руки (выше писали уже). 4) по поводу исп-я втмс для подсказки оптимизатору (в т.ч. при запросах через линки) - это сильно задвинуто. В оракуле есть хинты, например, driving_site, подсказывающие оптимизатору на какой стороне следует выполнять запрос. Без всяких фокусов с врем. таблицами. Короче говоря, необходимость, удобность и производительность втмс это из области какой то непонятной фантастики. Единственное видимое мне добро от втмс, и то с т.зр. программера, это их большая похожесть на таблицы, нежели аналоги оракле, и отсюда сопутствующие функции по работе с ними как с таблицами. А если с т.зр. сервера БД, так и этого плюса нет. Такое вот получилось ИМХО. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2009, 14:43 |
|
||
|
PL/SQL vs.Transact SQL
|
|||
|---|---|---|---|
|
#18+
Не перестает удивлять упертость адептов оракла в абсолютную святость и крутоту их субд и ативное отрицание всего иного. Временные таблицы - это удобный инструмент для структуирования, отладки и в некотоых случая увеличения производительности запросов. В отличии от вских масиивов и еще чего-то непонятного в оракле, они не выбиваются из реляционной концепции SQL, не вводят каких-то новых способов работы с ними. А где оно и как хранится, как реализуется не является уже свойством языка а является свойством конкретного движка сервера. В Sybase SA времянки могут быть не логгируемыми, хранятся по-другому, но к языку это не имеет никакого отношения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2009, 14:55 |
|
||
|
PL/SQL vs.Transact SQL
|
|||
|---|---|---|---|
|
#18+
Почему-то на собеседованиях очень часто любят задавать задачи типа: Написать скрипт на удаление задвоенных записей. прочем удалить надо не все задвоенные записи, и запись, которая была введена последней. Интересно, как эта задача решается на MS SQL? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2009, 15:39 |
|
||
|
PL/SQL vs.Transact SQL
|
|||
|---|---|---|---|
|
#18+
А что сложного в этой задаче? Надо только определиться с критерием задвоенности и опираться на поле "дата ввода". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2009, 15:55 |
|
||
|
PL/SQL vs.Transact SQL
|
|||
|---|---|---|---|
|
#18+
Ggg_oldА что сложного в этой задаче? Надо только определиться с критерием задвоенности и опираться на поле "дата ввода". Нет даты ввода. есть 2 поля ID, NAME ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2009, 15:59 |
|
||
|
PL/SQL vs.Transact SQL
|
|||
|---|---|---|---|
|
#18+
Точнее, есть только одно поле NAME. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2009, 16:00 |
|
||
|
PL/SQL vs.Transact SQL
|
|||
|---|---|---|---|
|
#18+
ддддддпрочем удалить надо не все задвоенные записи, и запись, которая была введена последней. Нет даты ввода. есть 2 поля ID, NAME А вот мне, например, было бы любопытно, как решить эту задачу на Oracle. Желательно без рассказа об ORA_ROWSCN :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2009, 16:04 |
|
||
|
PL/SQL vs.Transact SQL
|
|||
|---|---|---|---|
|
#18+
ддддддПочему-то на собеседованиях очень часто любят задавать задачи типа: Написать скрипт на удаление задвоенных записей. прочем удалить надо не все задвоенные записи, и запись, которая была введена последней. Интересно, как эта задача решается на MS SQL?Навскидку Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ЗЫ. Позвольте поинтересоваться: если вы не знаете ничего кроме оракла, то какого фига вы шаритесь в форуме по сравнению субд? Ggg_oldНе перестает удивлять упертость адептов оракла в абсолютную святость и крутоту их субд и ативное отрицание всего иного. Временные таблицы - это удобный инструмент для структуирования, отладки и в некотоых случая увеличения производительности запросов. В отличии от вских масиивов и еще чего-то непонятного в оракле, они не выбиваются из реляционной концепции SQL, не вводят каких-то новых способов работы с ними. А где оно и как хранится, как реализуется не является уже свойством языка а является свойством конкретного движка сервера. В Sybase SA времянки могут быть не логгируемыми, хранятся по-другому, но к языку это не имеет никакого отношения.А это у ораклистов любимое дело, всегда с них охреневал, как яростно доказывают, с пеной у рта, что "оркаль круто". DB2-шники спокойно себе делают свое дело и никому ниче не доказывают. mssql-щики тоже. а сообщество ораклистов наполнилось пацанами у которых деццтво играет неподеццки и им пофиг что доказывать, лишь бы пальцы гнуть на каждом углу. почитал тут у вас - прикольно. на каждую бензоколонку - по ораклю и оказывается работа с ораклем повышает чуство ответственности... с каких пор инструмент стал лечилкой от кривых рук? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2009, 16:08 |
|
||
|
PL/SQL vs.Transact SQL
|
|||
|---|---|---|---|
|
#18+
softwarerддддддпрочем удалить надо не все задвоенные записи, и запись, которая была введена последней. Нет даты ввода. есть 2 поля ID, NAME А вот мне, например, было бы любопытно, как решить эту задачу на Oracle. Желательно без рассказа об ORA_ROWSCN :) Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2009, 16:16 |
|
||
|
PL/SQL vs.Transact SQL
|
|||
|---|---|---|---|
|
#18+
пгуые123 ЗЫ. Позвольте поинтересоваться: если вы не знаете ничего кроме оракла, то какого фига вы шаритесь в форуме по сравнению субд? Чтобы понять, стоит ли переходить с Оракла на более передовую СУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2009, 16:20 |
|
||
|
PL/SQL vs.Transact SQL
|
|||
|---|---|---|---|
|
#18+
Ggg_oldНе перестает удивлять упертость адептов оракла в абсолютную святость и крутоту их субд и ативное отрицание всего иного. Временные таблицы - это удобный инструмент для структуирования, отладки и в некотоых случая увеличения производительности запросов. В отличии от вских масиивов и еще чего-то непонятного в оракле, они не выбиваются из реляционной концепции SQL, не вводят каких-то новых способов работы с ними. Я вообще то не адепт. И оракул юзаю постольку поскольку. За других слава богу не отвечаю. Вместо слова "оракле" подставьте любое, если вам так легче. Просто рассуждаю о конкретных подходах и реализациях в MSSQL и Oracle. С Sybase SA не работал и даже не видел. Раз там реализовано так, как вы написали, думаю не зря это было сделано? А вот тов. pkarklin с описанными вами упорством и верой доказывает крутость втмс, и при каждом случае не забывает кивнуть на их отсутствие в оракле. А по факту получаем, что втмс - это почти обычная (реальная) таблица БД, со всеми вытекающими накладными расходами в виде создания, дискового ввода\вывода, логирования и проч. Создавать обычную таблицу на каждый чих - совершенно безупречное решение от MS. Ура, товарищи. :) Вот с "они не выбиваются из реляционной концепции SQL, не вводят каких-то новых способов работы с ними" согласен. Но кому скажите нужно такое средство, созданное для "структуирования, отладки", а применяемое в пром. коде? И откуда бы здесь интересно взяться указанному "в некотоых случая увеличения производительности запросов"? Ggg_oldА где оно и как хранится, как реализуется не является уже свойством языка а является свойством конкретного движка сервера. В Sybase SA времянки могут быть не логгируемыми, хранятся по-другому, но к языку это не имеет никакого отношения. Функциональность и реализация конкретных функций в движке БД накладывает таки ограничения на возможности языка БД. Вы не находите? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2009, 16:36 |
|
||
|
PL/SQL vs.Transact SQL
|
|||
|---|---|---|---|
|
#18+
пгуые123А это у ораклистов любимое дело, всегда с них охреневал, как яростно доказывают, с пеной у рта, что "оркаль круто". DB2-шники спокойно себе делают свое дело и никому ниче не доказывают. mssql-щики тоже. а сообщество ораклистов наполнилось пацанами у которых деццтво играет неподеццки и им пофиг что доказывать, лишь бы пальцы гнуть на каждом углу. Тов. softwarer сказал, что большинство тем по сравнению MSSQL и Oracle создано mssql-щиками. Так что неправда ваша. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2009, 17:04 |
|
||
|
PL/SQL vs.Transact SQL
|
|||
|---|---|---|---|
|
#18+
дддддд-- -- Удалить дублирующие строки -- Мне таки по-прежнему любопытно, как решить эту задачу на Oracle. Если Вы готовы дать зуб, что приведённый код таки удаляет "запись, которая была введена последней" - приносите Код: plaintext 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. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2009, 17:04 |
|
||
|
PL/SQL vs.Transact SQL
|
|||
|---|---|---|---|
|
#18+
Solmyrпгуые123А это у ораклистов любимое дело, всегда с них охреневал, как яростно доказывают, с пеной у рта, что "оркаль круто". DB2-шники спокойно себе делают свое дело и никому ниче не доказывают. mssql-щики тоже. а сообщество ораклистов наполнилось пацанами у которых деццтво играет неподеццки и им пофиг что доказывать, лишь бы пальцы гнуть на каждом углу. Тов. softwarer сказал, что большинство тем по сравнению MSSQL и Oracle создано mssql-щиками. Так что неправда ваша. Хотя должен признать, что mssql-щики по теме в общей массе спорят более аргументированно, и тов. pkarklin в первую голову. А со стороны оракула действительно частенько вылазили троли. Счас их поубавилось вроде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2009, 17:09 |
|
||
|
PL/SQL vs.Transact SQL
|
|||
|---|---|---|---|
|
#18+
Без поля "дата ввода", задача не корректна, особенно для собеседования. Ссылки на внутренние поля типа row_id и еще чего-то в таком духе не канают ибо специфицично для сервера, и самое главное, не соответсвуют самому духу декларативной обработки данных в реляционной системе. Да и как поменяется этот row_number после разного рода бэкапов/ресторов, процедуры перезаливки таблицы и еще еще каких-нибудь административных действий неизвестно. Итого: без поля дата ввода надо оставить одну любую из двух записей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2009, 17:15 |
|
||
|
PL/SQL vs.Transact SQL
|
|||
|---|---|---|---|
|
#18+
Ggg_old Не перестает удивлять упертость адептов оракла в абсолютную святость и крутоту их субд и ативное отрицание всего иного. Solmyr Хотя должен признать, что mssql-щики по теме в общей массе спорят более аргументированно, и тов. pkarklin в первую голову. А со стороны оракула действительно частенько вылазили троли. Счас их поубавилось вроде. господа, давайте обсуждать возможности серверов, а не методы спора их сторонников ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2009, 17:16 |
|
||
|
PL/SQL vs.Transact SQL
|
|||
|---|---|---|---|
|
#18+
Solmyrпгуые123А это у ораклистов любимое дело, всегда с них охреневал, как яростно доказывают, с пеной у рта, что "оркаль круто". DB2-шники спокойно себе делают свое дело и никому ниче не доказывают. mssql-щики тоже. а сообщество ораклистов наполнилось пацанами у которых деццтво играет неподеццки и им пофиг что доказывать, лишь бы пальцы гнуть на каждом углу. Тов. softwarer сказал, что большинство тем по сравнению MSSQL и Oracle создано mssql-щиками. Так что неправда ваша.Не знаю кто че создавал но по последним темам ощущение, что у некоторых ораклистов ум за разум заходит. Советовать всем и вся Oracle дурь есть великая и полный пусец, хоть бы он трижды и был хорош. а XE - это вобще редкостная замануха, эдакий бесплатный сыр. Что вы знаете о видах бесплатного сыра ? ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2009, 17:25 |
|
||
|
|

start [/forum/topic.php?fid=35&msg=35977202&tid=1552921]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
45ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 165ms |

| 0 / 0 |
