Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
update и order by
|
|||
|---|---|---|---|
|
#18+
Доброго всем дня, Проблема: работающую БД с mssql 2017 RUS перенёс на mssql 2017 ENG у меня проблема возникла с работой сервера, а именно С помощью select создаю временную таблицу где есть столбец Idenity, в которой перед вставкой сортирую в нужном мне порядке. Далее с помощью Update нужно обновлять строки именно в том порядке в котором я её создал, на прежнем сервере работает нормально, на новом перемешивает, всего строк в таблице 488, сначала выбирает строки с id_ 313-416 потом 1 - 104, всё остальное. Может настройки есть какие-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2019, 15:14 |
|
||
|
update и order by
|
|||
|---|---|---|---|
|
#18+
Настройка "сделать из неправильного запроса правильный"? Нет, тут программист нужен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2019, 15:16 |
|
||
|
update и order by
|
|||
|---|---|---|---|
|
#18+
saley, настройка в голове нужна. Начните с базиса, курите определение реляционного отношения до полного понимания того, что так, как Вы хотите, не должно работать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2019, 15:42 |
|
||
|
update и order by
|
|||
|---|---|---|---|
|
#18+
Господа я понимаю что вы все умные, объясните почему тогда на одном сервере работает, а на другом не хочет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2019, 15:46 |
|
||
|
update и order by
|
|||
|---|---|---|---|
|
#18+
saley, сервер читает страницы так, как ему удобно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2019, 15:47 |
|
||
|
update и order by
|
|||
|---|---|---|---|
|
#18+
saleyМожет настройки есть какие-то?Настроек нет. Есть костыли. 1. Сделать по "столбец Idenity" кластерный индекс. 2. Код: sql 1. 2. 3. 4. 5. И нет гарантий, что данные костыли будут всегда работать корректно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2019, 15:51 |
|
||
|
update и order by
|
|||
|---|---|---|---|
|
#18+
saleyпочему тогда на одном сервере работает, а на другом не хочет?Хы... между прочим, в любой момент на первом может и перестать работать... как, впрочем, и на втором - начать работать как тебе хочется. А вообще если бы кто-то показал структуру таблиц, тестовое наполнение и желаемый результат - давно бы проблема решилась, наверное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2019, 15:53 |
|
||
|
update и order by
|
|||
|---|---|---|---|
|
#18+
saleyГоспода я понимаю что вы все умные, объясните почему тогда на одном сервере работает, а на другом не хочет? Изучайте, что такое параметры сортировки (collation), как они работают и применяются. На разных серверах у вас наверняка используются разные collation. https://docs.microsoft.com/ru-ru/sql/t-sql/statements/collations?view=sql-server-2017 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2019, 15:53 |
|
||
|
update и order by
|
|||
|---|---|---|---|
|
#18+
Minamoto , у него ж вроде как порядок задаёт "столбец Identity", число то бишь, к которому collation вообще никаким боком. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2019, 15:55 |
|
||
|
update и order by
|
|||
|---|---|---|---|
|
#18+
saleyГоспода я понимаю что вы все умные, объясните почему тогда на одном сервере работает, а на другом не хочет? Потому что вы заложились на недетерминированное поведение, и то, что при определенных условиях, сервер выбирает удовлетворяющий вас порядок обработки данных, не более чем счастливое стечение обстоятельств. Если вы опишите, что же за "упорядоченные апдейты" вы делаете, вам, скорее всего, подскажут как сделать поведение детерминированным. ЗЫ Высока вероятность, что у вас задача "нарастающий итог". В SQL 2017 (да и раньше) это делается через sum() over(order by) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2019, 15:55 |
|
||
|
update и order by
|
|||
|---|---|---|---|
|
#18+
Akina, вроде у него каша в голове и неспособность сформулировать вопрос. saleyС помощью select создаю временную таблицу где есть столбец Idenity, в которой перед вставкой сортирую в нужном мне порядке. Вот как это понять? И что такое ниже? saleyс помощью Update нужно обновлять строки именно в том порядке в котором я её создал Поэтому первое предположение - для уровня базового непонимания просходящего - про collation. Может я и ошибаюсь, и в вопросе есть какой то скрытый смысл, тогда мой ответ, конечно, не к месту. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2019, 16:11 |
|
||
|
update и order by
|
|||
|---|---|---|---|
|
#18+
как решение, это создание кластерного индекса. Вроде помогло. Но а с Collate надо поразбираться, наверняка здесь засада. Хотя проверял настройки на двух серверах, вроде одинаковые. Всем спасибо за помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2019, 16:56 |
|
||
|
update и order by
|
|||
|---|---|---|---|
|
#18+
saley, Ждем вас с нетерпением снова, когда у вас случится неупорядоченный скан кластерного индекса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2019, 17:05 |
|
||
|
update и order by
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей АлексеевичЖдем вас с нетерпением снова, когда у вас случится неупорядоченный скан кластерного индекса.При update такого не случится. По крайней мере, на текущий момент. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2019, 18:16 |
|
||
|
update и order by
|
|||
|---|---|---|---|
|
#18+
invm Код: sql 1. И нет гарантий, что данные костыли будут всегда работать корректно. invm , а почему так? А не Код: sql 1. ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2019, 20:35 |
|
||
|
update и order by
|
|||
|---|---|---|---|
|
#18+
uaggster invm , а почему так? А не Код: sql 1. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Код: plaintext 1. 2. Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2019, 20:59 |
|
||
|
update и order by
|
|||
|---|---|---|---|
|
#18+
(продолжаю упорствовать) На первый взгляд - планы кажутся одинаковыми. Ну, добавилось одно вычисление скаляра. На сколько нибудь больших выборках - разница будет ничтожной. Разве не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2019, 21:35 |
|
||
|
update и order by
|
|||
|---|---|---|---|
|
#18+
uaggster(продолжаю упорствовать)Да пожалуйста. Кто ж вам запретит? :) uaggsterНу, добавилось одно вычисление скаляра.А Nested Loops и Constant Scan? uaggsterНа сколько нибудь больших выборках - разница будет ничтожной. Разве не так?Размер "ничтожности" может зависеть от разных факторов. Определяем цену Nested Loops + Constant Scan Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2019, 23:10 |
|
||
|
update и order by
|
|||
|---|---|---|---|
|
#18+
Гарантировать порядок обновления записей можно только итератором, например, курсором. В любом случае быстрых гарантированных способов нет. Надо подумать все же о соответствии своих решений реляционной механике. Изучать базовые принципы обработки данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2019, 11:19 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39849294&tid=1687402]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
132ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 217ms |
| total: | 439ms |

| 0 / 0 |
