|
Вопрос по синтаксису Update
|
|||
---|---|---|---|
#18+
invm, Подведем неутешительный (промежуточный итог) с чем вы были не согласны 1. Строки в таблице хранятся в порядке определенным кластерным индексом Код: sql 1. 2.
https://docs.microsoft.com/ru-ru/sql/relational-databases/indexes/clustered-and-nonclustered-indexes-described?view=sql-server-ver15 2. Использование TOP без ORDER BY выдает непредсказуемый результат Код: sql 1.
https://docs.microsoft.com/ru-ru/sql/t-sql/queries/top-transact-sql?view=sql-server-ver15 3. Считаете что конструкция Код: sql 1. 2. 3. 4. 5. 6.
содержит синтаксическую ошибку для MSSQL 2017 Код: sql 1.
https://docs.microsoft.com/ru-ru/sql/t-sql/queries/hints-transact-sql-table?view=sql-server-ver15 Это хорошо, что у меня с Майкрософт одинаковое видение мира ... |
|||
:
Нравится:
Не нравится:
|
|||
31.12.2019, 14:11 |
|
Вопрос по синтаксису Update
|
|||
---|---|---|---|
#18+
Руслан Дамирович, welcome у Вас то же не отрабатывает, то же синтаксическая ошибка ? ))) Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.12.2019, 14:12 |
|
Вопрос по синтаксису Update
|
|||
---|---|---|---|
#18+
все цирк уезжает ))))) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.12.2019, 14:15 |
|
Вопрос по синтаксису Update
|
|||
---|---|---|---|
#18+
entrypoint invm, Подведем неутешительный (промежуточный итог) с чем вы были не согласны... Согласен только с 3-м пунктом, мой косяк. По остальным, пожалуйста, цитаты. И не уходите от темы, - вы склочно добивались кода, показывающего, что сканирование кластерного индекса происходит не всегда в порядке этого индекса. Таковой был дан на публичном проверенном ресурсе. Теперь ваша очередь дать на том же ресурсе код, подтверждающий вашу точку зрения - кластерный индекс всегда читается упорядоченно. Т.е. найти ошибку в моем примере и ее продемонстрировать. На всякий случай еще раз - читается, а не хранится Дерзайте. Руслан Дамирович Буйный он какой-то... ... |
|||
:
Нравится:
Не нравится:
|
|||
31.12.2019, 14:45 |
|
Вопрос по синтаксису Update
|
|||
---|---|---|---|
#18+
invm entrypoint invm, Подведем неутешительный (промежуточный итог) с чем вы были не согласны... Согласен только с 3-м пунктом, мой косяк. По остальным, пожалуйста, цитаты. И не уходите от темы, - вы склочно добивались кода, показывающего, что сканирование кластерного индекса происходит не всегда в порядке этого индекса. Таковой был дан на публичном проверенном ресурсе. Теперь ваша очередь дать на том же ресурсе код, подтверждающий вашу точку зрения - кластерный индекс всегда читается упорядоченно. Т.е. найти ошибку в моем примере и ее продемонстрировать. На всякий случай еще раз - читается, а не хранится авторСтроки данных в таблице хранятся в порядке сортировки только в том случае, если таблица содержит кластеризованный индекс https://docs.microsoft.com/ru-ru/sql/relational-databases/indexes/clustered-and-nonclustered-indexes-described?view=sql-server-ver15 Дерзайте. Руслан Дамирович Буйный он какой-то... осталось два про хранение строк и TOP без ORDER BY )))) там цитаты из MSDN будете их опровергать ? P.S. про читать - это Ваша цитата авторКогда осознаете разницу между "складывает" и "читает", - возвращайтесь. моя вот авторто все равно строки со значением AppCode = '' будут первыми потому что create clustered index cx_Repayments on dbo.Repayments(AppCode, RepaymentDate) (опять же структура) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.12.2019, 14:57 |
|
Вопрос по синтаксису Update
|
|||
---|---|---|---|
#18+
invm, invmПо остальным, пожалуйста, цитаты про TOP 22051889 invmentrypointTOP - это не физический порядок, как раз TOP и требует ORDER BY, т.е. - согласно Майкрософт конструкция TOP без ORDER BY не корректна Ну вот, вы еще не понимаете как работает TOP. Куда уж тут про кластерный индекс... про кластерный индекс 22051476 invmВы почему-то решили, что @Part нужно инициализировать первым значением из таблицы. Отсюда все проблемы 22051558 entrypointвсе равно строки со значением AppCode = '' будут первыми потому что create clustered index cx_Repayments on dbo.Repayments(AppCode, RepaymentDate) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.12.2019, 15:31 |
|
Вопрос по синтаксису Update
|
|||
---|---|---|---|
#18+
entrypoint про TOP 22051889 entrypoint Вы слишком много додумываете. И почему-то считаете додуманное абсолютной истиной. Ну и опять вполне ожидаемо игнорируете неудобное: invm И не уходите от темы, - вы склочно добивались кода, показывающего, что сканирование кластерного индекса происходит не всегда в порядке этого индекса. Таковой был дан на публичном проверенном ресурсе. Теперь ваша очередь дать на том же ресурсе код, подтверждающий вашу точку зрения - кластерный индекс всегда читается упорядоченно. Т.е. найти ошибку в моем примере и ее продемонстрировать. И на закучку про "хранение в порядке индекса" Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.12.2019, 16:02 |
|
Вопрос по синтаксису Update
|
|||
---|---|---|---|
#18+
invm, остаётся надеяться, на то, что той околесицей с которой вы боритесь, не были оболванены менее подкованные программисты и пользователи ранее. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.12.2019, 17:46 |
|
Вопрос по синтаксису Update
|
|||
---|---|---|---|
#18+
nullin, не испытываю оптимизма по данному вопросу :) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.12.2019, 19:06 |
|
Вопрос по синтаксису Update
|
|||
---|---|---|---|
#18+
entrypoint согласно Майкрософт конструкция TOP без ORDER BY не корректна Не Microsoft, а ANSI SQL 92 стандарт. У MS SELECT TOP n является апокрифом. FETCH FIRST N ROWS ONLY появилось в стандарте ANSI SQL 2008. Ближе к типовому выражения является ORDER BY ... OFFSET ... FETCH... . ... |
|||
:
Нравится:
Не нравится:
|
|||
31.12.2019, 20:55 |
|
Вопрос по синтаксису Update
|
|||
---|---|---|---|
#18+
Владислав Колосов, однако сильно.. wikiАпокриф — произведение религиозной литературы, посвящённое по преимуществу событиям и лицам Священной и церковной истории, не включённое в канон Церковью. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.01.2020, 13:45 |
|
Вопрос по синтаксису Update
|
|||
---|---|---|---|
#18+
invm, Перечитайте внимательно, там ответы на все Ваши вопросы Пример, непонятно про что. Ясно, что используя ORDER BY записи можно вернуть в любом порядке, разговор о том в каком порядке хранятся строки в таблице Если Вы будет использовать конструкцию без ORDER BY Вы всё равно получите список хранящийся в таблице отсортированным по кластерному индексу, в вашем случае это кластерный индекс по полю id, который создается при создании ограничений PRIMARY KEY (сокращенное от PRIMARY KEY CLUSTERED) авторИндексы создаются автоматически при определении ограничений PRIMARY KEY или UNIQUE на основе столбцов таблицы. Например, при создании таблицы с ограничением UNIQUE Компонент Database Engine автоматически создает некластеризованный индекс. При настройке PRIMARY KEY Компонент Database Engine автоматически создает кластеризованный индекс, если он еще не существует. https://docs.microsoft.com/ru-ru/sql/relational-databases/indexes/clustered-and-nonclustered-indexes-described?view=sql-server-ver15 мало того, этот порядок хранения можно изменить удалив ограничение PRIMARY KEY и создав другой кластерный индекс, даже если затем удалить этот индекс порядок хранения сохраниться Код: 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. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 11:07 |
|
Вопрос по синтаксису Update
|
|||
---|---|---|---|
#18+
Владислав Колосов, Может всё-таки согласно документации Майкрософт ? авторВ инструкции SELECT всегда указывайте ORDER BY вместе с предложением TOP. Дело в том, что это единственный предсказуемый способ отбора строк предложением TOP. https://docs.microsoft.com/ru-ru/sql/t-sql/queries/top-transact-sql?view=sql-server-ver15 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 11:16 |
|
Вопрос по синтаксису Update
|
|||
---|---|---|---|
#18+
entrypoint, речь идет об использовании TOP, а не ORDER BY. И никто не говорит о предсказуемости. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 11:18 |
|
Вопрос по синтаксису Update
|
|||
---|---|---|---|
#18+
Владислав Колосов, В Вашем же сообщении так, или как-то иначе ? авторавторentrypoint согласно Майкрософт конструкция TOP без ORDER BY не корректна Не Microsoft, а ANSI SQL 92 стандарт. 22052442 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 11:24 |
|
Вопрос по синтаксису Update
|
|||
---|---|---|---|
#18+
Продолжаем веселье :) entrypoint Перечитайте внимательно, там ответы на все Ваши вопросы Если вы считаете, "select * from table" и есть требуемое доказательство, то глубоко заблуждаетесь - это никак не показывает как именно хранятся строки и что они были прочитаны в порядке хранения. Пример, демонстрирующий порядок хранения на уровне индекса вы опять благополучно проигнорировали. Что неудивительно :) Вот вам очередной пример для игнорирования - порядок хранения на уровне страницы Код: 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.
А теперь, внимание, вопрос - если строки физически хранятся в порядке индекса, то что присходит при добавление строк в середину индекса? И немного усложним - при конкурентном добавлении в середину индекса? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 12:01 |
|
Вопрос по синтаксису Update
|
|||
---|---|---|---|
#18+
invm, Код: sql 1.
Все будет храниться в порядке определенном кластерным индексом, мы уже об этом говорили 22051573 и не важно, конкурентно, неконкурентно проверьте - если не верите уберите в своих селектах ORDER BY и получите список упорядоченный по кластерному индексу ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 12:38 |
|
Вопрос по синтаксису Update
|
|||
---|---|---|---|
#18+
invm, авторЕсли вы считаете, "select * from table" и есть требуемое доказательство, то глубоко заблуждаетесь - это никак не показывает как именно хранятся строки и что они были прочитаны в порядке хранения. почему же тогда код приведенный мной в 22055414 работает именно так, как я это описываю ( "случайность - не думаю" ) авторИ кода, доказывающего, ваши утверждения до сих пор нет. Сделайте "select * from table" как-нибудь так, чтобы список был отсортирован не по кластерному индексу, а как-то иначе и все вопросы будут закрыты (используя меня как посредника Вы стали спорить с Майкрософт) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 12:44 |
|
Вопрос по синтаксису Update
|
|||
---|---|---|---|
#18+
entrypoint используя меня как посредника Вы стали спорить с Майкрософт Или докажите, что записи в результате запроса без ORDER BY гарантированно ВСЕГДА вернутся в порядке кластерного индекса. Доказать-то можно только ссылкой на документацию производителя, никак иначе. Правда? Вы же не имеете доступа к исходным текстам SQL сервера? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 13:03 |
|
Вопрос по синтаксису Update
|
|||
---|---|---|---|
#18+
iap, Ой, да цитировано перецитировано (вот фрагментик 22052270 ) Перечитайте эту тему, здесь прямые ссылки на документацию или же сделайте так чтобы этот код работал по другому 22055414 приведите пример и всё, зачем флудить-то ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 13:11 |
|
Вопрос по синтаксису Update
|
|||
---|---|---|---|
#18+
Этот код товарищу "гарантированно в порядке кластерного индекса" уже показывали? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 13:26 |
|
Вопрос по синтаксису Update
|
|||
---|---|---|---|
#18+
entrypoint почему же тогда код приведенный мной в 22055414 работает именно так, как я это описываю ( "случайность - не думаю" ) entrypoint Сделайте "select * from table" как-нибудь так, чтобы список был отсортирован не по кластерному индексу, а как-то иначе и все вопросы будут закрыты Но вы придрлись к top. Рекомендацию убрать top и запустить еще раз вы, как обычно, проигнорировали. Где ответы на "неудобные" вопросы? В частности на invm А теперь, внимание, вопрос - если строки физически хранятся в порядке индекса, то что присходит при добавление строк в середину индекса? И немного усложним - при конкурентном добавлении в середину индекса? Уточню для непонятливых - что произойдет на уровне физического хранения, когда данные добавляются в середину индекса? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 13:29 |
|
Вопрос по синтаксису Update
|
|||
---|---|---|---|
#18+
invm, авторУточню для непонятливых - что произойдет на уровне физического хранения, когда данные добавляются в середину индекса? Произойдет ровно то, о чем я уже писал )))) Внимательно читайте ))) Не через строку ))) Строки в таблице будут храниться в порядке определенном кластерным индексом ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 13:59 |
|
Вопрос по синтаксису Update
|
|||
---|---|---|---|
#18+
Гавриленко Сергей Алексеевич, )))) вот это уже что-то )))) Согласен )))) invm, видите и вопросов нет ))))), а то уже третью страницу флудить )))) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 14:01 |
|
Вопрос по синтаксису Update
|
|||
---|---|---|---|
#18+
entrypoint Произойдет ровно то, о чем я уже писал )))) Внимательно читайте ))) Не через строку ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 14:03 |
|
|
start [/forum/topic.php?fid=46&msg=39911975&tid=1686665]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
others: | 17ms |
total: | 157ms |
0 / 0 |