|
ORACLE против SQL. Разные результаты. Кто поможет?
|
|||
---|---|---|---|
#18+
Уважаемый LR предложил остроумный способ динамической сегментации на сервере. Он нормально работает на MS SQL. Но когда попробовал на ORACLE - совсем другие результаты. Итак, MS SQL Код: 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.
Результат MS SQL (считаю правильный): startfinishleftweightrightweight0.000 35.8530135.85318265.48711018265.48718265.490101118265.49018267.47411118267.47419661.32411019661.32419670.24610119670.24619728.04811019728.04819739.70810119739.70822528.10611022528.10622530.14510122530.14524675.60011024675.60026656.200101826656.20029864.117181029864.11729866.11710129866.11735462.84011035462.84035462.850101335462.85053701.851131053701.85153701.860101353701.86053702.071131053702.07153702.080101353702.08070695.245131070695.24570697.30610170697.30696866.30011096866.30096866.30310096866.30396906.59001 Вот ORACLE Код: plsql 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.
Результаты (если MS SQL можно еще проверять, то тут точно дрова) STARTFINISHLEFTWEIGHTRIGHTWEIGHT0 35.853 0 135.853 18265.487 1 1018265.487 18265.49 0 118265.49 18267.474 10 018267.474 19661.324 1 1019661.324 19670.246 10 119670.246 19728.048 1 1019728.048 19739.708 10 119739.708 22528.106 1 1022528.106 22530.145 10 122530.145 24675.6 1 1024675.6 26656.2 0 826656.2 29864.117 8 029864.117 29866.117 10 129866.117 35462.84 1 1035462.84 35462.85 0 335462.85 53701.851 3 053701.851 53701.86 0 353701.86 53702.071 3 053702.071 53702.08 0 353702.08 70695.245 3 070695.245 70697.306 10 170697.306 96866.3 1 1096866.3 96866.303 10 096866.303 96906.59 0 1 Вроде все сделал аккуратно - запрос один в один. Вроде. Что опять такого в ORACLE? Модератор: Тема перенесена из форума "Microsoft SQL Server". ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2013, 01:07 |
|
ORACLE против SQL. Разные результаты. Кто поможет?
|
|||
---|---|---|---|
#18+
HResult, А что не так? По-моему идентично. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2013, 01:20 |
|
ORACLE против SQL. Разные результаты. Кто поможет?
|
|||
---|---|---|---|
#18+
Ой, там же все не так. Обратите внимание на leftweight и rightweight. Это суммы весов входящих отрезков в начале и в конце каждого агрегированного. Они совсем разные, а в них вся соль. Гляньте на оригинальный пост 14962312 Я потратил кучу времени на реальных данных в поисках причин, пока не догадался составить запросы на константах и выполнить в чистом виде в обоих средах. И нате Вам. Честно говоря, потрясен. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2013, 01:50 |
|
ORACLE против SQL. Разные результаты. Кто поможет?
|
|||
---|---|---|---|
#18+
HResultОй, там же все не так. Обратите внимание на leftweight и rightweight. Это суммы весов входящих отрезков в начале и в конце каждого агрегированного. Они совсем разные, а в них вся соль. Гляньте на оригинальный пост 14962312 Я потратил кучу времени на реальных данных в поисках причин, пока не догадался составить запросы на константах и выполнить в чистом виде в обоих средах. И нате Вам. Честно говоря, потрясен. Пупсик, ты не потрясайся, а выполни свои запросы еще раз. Вот тот SQL, что для Oracle - возвращает аккурат то, что ото у тебя в первой таблице, а не во второй (если слово start заменить и ото Аштшыр). Ты походу в копипасте запутался, бедолашный. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2013, 01:58 |
|
ORACLE против SQL. Разные результаты. Кто поможет?
|
|||
---|---|---|---|
#18+
Капитан очевидность на проводеHResultОй, там же все не так. Обратите внимание на leftweight и rightweight. Это суммы весов входящих отрезков в начале и в конце каждого агрегированного. Они совсем разные, а в них вся соль. Гляньте на оригинальный пост 14962312 Я потратил кучу времени на реальных данных в поисках причин, пока не догадался составить запросы на константах и выполнить в чистом виде в обоих средах. И нате Вам. Честно говоря, потрясен. Пупсик, ты не потрясайся, а выполни свои запросы еще раз. Вот тот SQL, что для Oracle - возвращает аккурат то, что ото у тебя в первой таблице, а не во второй (если слово start заменить и ото Аштшыр). Ты походу в копипасте запутался, бедолашный. Это как раз не копипаст, а совсем наоборот. Я написал FINISH на русской раскладке. Без копипаста. Да, смешно. Но это не должно смущать королей арены. Если есть сомнения - выложите Ваш вариант, который таки дает правильный результат. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2013, 02:03 |
|
ORACLE против SQL. Разные результаты. Кто поможет?
|
|||
---|---|---|---|
#18+
Этот запрос без русских буков, но с тем же мусором в результате. Код: plsql 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2013, 02:11 |
|
ORACLE против SQL. Разные результаты. Кто поможет?
|
|||
---|---|---|---|
#18+
я не увидел отличий, последий запрос выдает идентичную первой таблице ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2013, 09:57 |
|
ORACLE против SQL. Разные результаты. Кто поможет?
|
|||
---|---|---|---|
#18+
HResultЭтот запрос без русских буков, но с тем же мусором в результате. Вот результат из свежего 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2013, 10:32 |
|
ORACLE против SQL. Разные результаты. Кто поможет?
|
|||
---|---|---|---|
#18+
Капитан очевидность, Ну, это совершенно другое дело. Спасибо. Вопрос только, что такое "свежий"? У меня, вроде, 10g. (Надо спросить спецов). Это как, свежий? Насколько? И как может "свежесть" влиять на абсолютно детерменированный запрос? Потому, что на моей стороне ничего не поменялось. NMSTARTNMENDLEFTWEIGHTRIGHTWEIGHT035.8530135.85318265.48711018265.48718265.490118265.4918267.47410018267.47419661.32411019661.32419670.24610119670.24619728.04811019728.04819739.70810119739.70822528.10611022528.10622530.14510122530.14524675.611024675.626656.20826656.229864.1178029864.11729866.11710129866.11735462.8411035462.8435462.850335462.8553701.8513053701.85153701.860353701.8653702.0713053702.07153702.080353702.0870695.2453070695.24570697.30610170697.30696866.311096866.396866.30310096866.30396906.5901 И что потенциально может повлиять? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2013, 11:28 |
|
ORACLE против SQL. Разные результаты. Кто поможет?
|
|||
---|---|---|---|
#18+
HResult, select * from v$version; у меня на Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit другой результат Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2013, 11:34 |
|
ORACLE против SQL. Разные результаты. Кто поможет?
|
|||
---|---|---|---|
#18+
Спасибо за подсказку. Вот что мне дает: Oracle Database 10g Release 10.2.0.3.0 PL/SQL Release 10.2.0.3.0 CORE 10.2.0.3.0 TNS for 32-bit Windows: Version 10.2.0.3.0 NLSRTL Version 10.2.0.3.0 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2013, 11:55 |
|
ORACLE против SQL. Разные результаты. Кто поможет?
|
|||
---|---|---|---|
#18+
HResultСпасибо за подсказку. Вот что мне дает: Oracle Database 10g Release 10.2.0.3.0 PL/SQL Release 10.2.0.3.0 CORE 10.2.0.3.0 TNS for 32-bit Windows: Version 10.2.0.3.0 NLSRTL Version 10.2.0.3.0 10.2.0.3.0 было пара неприятных багов, помниться у меня jdbc молча возвращал меньше строк, чем реально было в курсоре. ставьте патч скорей. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2013, 13:00 |
|
ORACLE против SQL. Разные результаты. Кто поможет?
|
|||
---|---|---|---|
#18+
Yo.!HResultСпасибо за подсказку. Вот что мне дает: Oracle Database 10g Release 10.2.0.3.0 PL/SQL Release 10.2.0.3.0 CORE 10.2.0.3.0 TNS for 32-bit Windows: Version 10.2.0.3.0 NLSRTL Version 10.2.0.3.0 10.2.0.3.0 было пара неприятных багов, помниться у меня jdbc молча возвращал меньше строк, чем реально было в курсоре. ставьте патч скорей. Спасибо, пошел топтать айтишников. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2013, 13:08 |
|
ORACLE против SQL. Разные результаты. Кто поможет?
|
|||
---|---|---|---|
#18+
На 10.2.0.4.0 все работает, как должно. Айтишники уволены. Спасибо всем большое. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2013, 13:36 |
|
ORACLE против SQL. Разные результаты. Кто поможет?
|
|||
---|---|---|---|
#18+
Возможно, у вас так и задумано, но "Where e1.x>e2.x" превращает ваш "left join" в "inner join", и гипотетически вы получаете не те цифры, что ожидаете. И в mssql, и в oracle. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2014, 17:18 |
|
|
start [/forum/topic.php?fid=35&fpage=7&tid=1552399]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 274ms |
total: | 400ms |
0 / 0 |