|
Oracle vs MSSQL. Битва интеллекта.
|
|||
---|---|---|---|
#18+
Oracle Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Код: plaintext 1. 2.
MSSQL Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Код: plaintext 1.
Идем далее. В Оракле 1-й и 3-й случаи отрабатывают потому что он догадывается что там константа. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
Код: plaintext 1. 2. 3.
В MSSQL не отрабатывает ничего (зато единообразно :)) Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
Код: plaintext 1. 2. 3.
Ясное дело, без сортировки все варианты работают в обоих СУБД. Ну и какая более интеллектуальная, huh? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2015, 16:26 |
|
Oracle vs MSSQL. Битва интеллекта.
|
|||
---|---|---|---|
#18+
dbms_photoshop, Dual все эти примеры перекрывает) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2015, 18:43 |
|
Oracle vs MSSQL. Битва интеллекта.
|
|||
---|---|---|---|
#18+
SergSuperDual все эти примеры перекрываетЧто? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2015, 18:55 |
|
Oracle vs MSSQL. Битва интеллекта.
|
|||
---|---|---|---|
#18+
dbms_photoshopSergSuperDual все эти примеры перекрываетЧто? это кусок Вашего кода, на Оракле попробуйте выполнить Код: sql 1.
или вот Вы пишите select column_value x from table (sys.odcivarchar2list('hello','mister','smith','x'))) t зачем это table? что ж этот интеллектуальный Оракл не может догадаться что там табличные данные ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2015, 19:02 |
|
Oracle vs MSSQL. Битва интеллекта.
|
|||
---|---|---|---|
#18+
SergSuperОракле попробуйте выполнитьТе, кому режут глаза подобные отличия, могут создать таблицу и любоваться практически полным совпадением текстов запросов. Может тогда лучше удасться рассмотреть на чем делался акцент в стартовом посте. SergSuperчто ж этот интеллектуальный Оракл не может догадаться что там табличные данныеАга, а еще интеллектуальный Оракл не позволяет создавать процедуры/функции без объявления типа результата. Вообще беда. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2015, 19:13 |
|
Oracle vs MSSQL. Битва интеллекта.
|
|||
---|---|---|---|
#18+
dbms_photoshop, Код: sql 1. 2. 3. 4.
Полагаю, что это из-за того, что сам по себе DISTINCT в MS SQL фактически реализован оператором сортировки с удалением дубликатов: ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2015, 23:20 |
|
Oracle vs MSSQL. Битва интеллекта.
|
|||
---|---|---|---|
#18+
dbms_photoshop, Сделать так: Код: sql 1. 2. 3. 4.
, то как бы очевидно, что сначала будет Compute Scalar и только потом SORT: ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2015, 23:22 |
|
Oracle vs MSSQL. Битва интеллекта.
|
|||
---|---|---|---|
#18+
dbms_photoshop, А Код: sql 1. 2. 3. 4. 5.
замените на: Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2015, 23:25 |
|
Oracle vs MSSQL. Битва интеллекта.
|
|||
---|---|---|---|
#18+
dbms_photoshop, Так же полагаю, что это вариант: Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
сработает на обеих СУБД. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2015, 23:31 |
|
Oracle vs MSSQL. Битва интеллекта.
|
|||
---|---|---|---|
#18+
dbms_photoshop, для сравнения вне конкруса. Firebird 3.0 Код: sql 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.
OK OK Invalid expression in the ORDER BY clause (not contained in either an aggregate function or the GROUP BY clause). Invalid expression in the ORDER BY clause (not contained in either an aggregate function or the GROUP BY clause). ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2015, 09:57 |
|
Oracle vs MSSQL. Битва интеллекта.
|
|||
---|---|---|---|
#18+
dbms_photoshopИдем далее. В Оракле 1-й и 3-й случаи отрабатывают потому что он догадывается что там константа. Это не достоинство оракла, а его недостаток. Вместо того, чтобы упрощать код и делать поведение системы предсказуемым, оракловские гавнокодеры реализовали кучу частных случаев и превратили движок исполнения запросов в подобие помойки, а именно свалку огромного количества костылей и заплаток, оставшихся от крупных клиентов. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2015, 17:26 |
|
Oracle vs MSSQL. Битва интеллекта.
|
|||
---|---|---|---|
#18+
pkarklinПолагаю, что это из-за того, что сам по себе DISTINCT в MS SQL фактически реализован оператором сортировки с удалением дубликатовНесколько странно полагать обработку синтаксиса (парсинг) основываясь на плане. В Оракле тоже раньше distinct работал как SORT ORDER BY, потом стало возможно задействовать HASH GROUP BY. Регулируется хинтом (no_)use_hash_aggregation. pkarklinто как бы очевидно, что сначала будет Compute Scalar и только потом SORTПри отсутствующем distinct (или group by) не совсем понятно какое это имеет отношение к стартовому посту. pkarklinзамените наЭто понятно. Акцент был сделан на ранице в поведении. Впрочем особой необходимости для спец обработки вырожденных случаев как делает Оракле с константой я не вижу. Ну и изначально в MSSQL выглядит несколько нелогично, что сортировка по len(x) в случае группировки допускается, а в случае distinct - нет. Ясное дело, можно в случае с distinct добавить len(x) в select list и просто не отображать на клиенте, но сомнительна необходимость подобного в случае детерминированной функции. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2015, 13:43 |
|
Oracle vs MSSQL. Битва интеллекта.
|
|||
---|---|---|---|
#18+
Симонов Денисдля сравнения вне конкруса. Firebird 3.0Наиболее интересно отрабатывают ли эквивалент этого Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2015, 13:58 |
|
Oracle vs MSSQL. Битва интеллекта.
|
|||
---|---|---|---|
#18+
dbms_photoshopСимонов Денисдля сравнения вне конкруса. Firebird 3.0Наиболее интересно отрабатывают лиНа ФБ эти два запроса выдают правильный вариант, начиная с версии 2.5.3: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2015, 15:30 |
|
Oracle vs MSSQL. Битва интеллекта.
|
|||
---|---|---|---|
#18+
Агенорdbms_photoshopИдем далее. В Оракле 1-й и 3-й случаи отрабатывают потому что он догадывается что там константа. Это не достоинство оракла, а его недостаток. Вместо того, чтобы упрощать код и делать поведение системы предсказуемым, оракловские гавнокодеры реализовали кучу частных случаев и превратили движок исполнения запросов в подобие помойки, а именно свалку огромного количества костылей и заплаток, оставшихся от крупных клиентов. Пожалуй соглашусь. С выходом 12 версии сложилось впечетление , что на поддержку всех фич заплаток и часных случаев оракла не хватает рук. Там явно у менеджмента проблемы с осознанием теории сложности, связать тренд зависимости трудозатрат на поддержку фич и частных случаев с прогрессией 2^Х они кажется ИМХО не осилили. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2015, 12:53 |
|
Oracle vs MSSQL. Битва интеллекта.
|
|||
---|---|---|---|
#18+
ДохтаР, Так это - не малая доля их доходов завязана именно на платной поддержке. Поэтому они спокойно раздают базовую версию базы с сайта. При таком подходе сложный черный ящик предпочтительней простого инструмента. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2015, 14:49 |
|
Oracle vs MSSQL. Битва интеллекта.
|
|||
---|---|---|---|
#18+
Сергей АрсеньевДохтаР, Так это - не малая доля их доходов завязана именно на платной поддержке. Поэтому они спокойно раздают базовую версию базы с сайта. При таком подходе сложный черный ящик предпочтительней простого инструмента. Для того что бы обеспечить им доходы , нужно заработать денег, сейчас наступает такое время, что шальные деньги как то не прут. На росте мировой экономике это хорошая стратегия , а на стагнации клиенты найдут замену даже незаменимым дорогим фичам. Понимаете в чем тут вопрос , когда видишь кучу фич, которыми не пользуешься или которые работают немного не так как хочется понимаешь , что недополучаешь прибыль. И вобще саппорт , это страховка для эффективного менеджера среднего звена, что бы когда что то перестало работать , можно было эфективно перевести стрелки на индусов. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2015, 15:56 |
|
Oracle vs MSSQL. Битва интеллекта.
|
|||
---|---|---|---|
#18+
ДохтаР, Не мне учить Ларри деньги зарабатывать. :) Так что их стратегия - их дело. Простой инструмент требует дорогого сотрудника, чтоб умел им пользоваться. А он птица независимая. А многим хочется стабильности. Поэтому согласны платить за саппорт и удобства. А они требуют большого комбайна. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2015, 16:05 |
|
Oracle vs MSSQL. Битва интеллекта.
|
|||
---|---|---|---|
#18+
Сергей АрсеньевДохтаР, Не мне учить Ларри деньги зарабатывать. :) Так что их стратегия - их дело. Простой инструмент требует дорогого сотрудника, чтоб умел им пользоваться. А он птица независимая. А многим хочется стабильности. Поэтому согласны платить за саппорт и удобства. А они требуют большого комбайна. С точки зрения менеджмента спорный вопрос, дорогой сотрудник в националной валюте , или дорогой саппорт в пересчете на доллары. В нашей организации уже несколько лет еще до всяких кризисов изменился вектор на то, что выгоднее платить своим в своей стране, в нацвалюте, чем в долларах индусам. Своими можно договориться на компенсацию ипотеки в нац валюте, талонами на бензин, размещением премии на депозит, или еще как то поиграать в пянташки с дырявой ликвидностью, а индусам вынь да полож, в долларах, в срок по договору, а доходы то зарабатываются в национальной валюте. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2015, 17:25 |
|
Oracle vs MSSQL. Битва интеллекта.
|
|||
---|---|---|---|
#18+
dbms_photoshop, авторНесколько странно полагать обработку синтаксиса (парсинг) основываясь на плане. Так парсинг такой запрос проходит успешно. Значит дело не в парсинге. Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
Код: plaintext
авторПри отсутствующем distinct (или group by) не совсем понятно какое это имеет отношение к стартовому посту. Порядок выполнения операторов в плане. Т.е. сначала надо посчитать, а потом сортировать, но из подсчитанного кое-что могло быть удалено при DISTINCT SORT. Т.е. получается, для того, чтобы выполнить запрос оптимизатор должен поменять порядок операторов в плане - сделать не то, что просили. Возможно, это какой-то "рудимент" оптимизатора. Заведение по этому поводу "тикета" вижу бесперспективным. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2015, 23:41 |
|
|
start [/forum/topic.php?fid=35&msg=39122333&tid=1552298]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
167ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
others: | 17ms |
total: | 298ms |
0 / 0 |