|
|
|
Рушится вера в
|
|||
|---|---|---|---|
|
#18+
2 Dankov на: Вы считаете, что после запроса "insert ...select..order" данные расположаться именно в том порядке, в каком определено в этом запросе. На самом деле это не так. Я и сам вижу в своей рабочей процедуре, что это "не так" - потому и самый первый вопрос адресовал тем, кто уже сталкивался с подобными проявлениями работы сервера... (а вовсе не - "теоретикам от SQL"). Ну не доводилось мне до сих пор наблюдать такого "поведения" - что в этом плохого? Или это повод - считать меня тупым? на: Вы считаете, что при указании select без order, данные будут считаны в выборку в порядке физического хранения. Это тоже неверная предпосылка. Это я так уж - в пылу полемики "упростил до невозможности", и конечно же - был неправ... (на самом деле - помню я все топики на этом форуме, где обсуждались подобные вещи, и где всеобщим согласием договорились, что типа: "... верить можно только - кластерному индексу, да и то - с оглядкой..."). на: ... Позвольте уж серверу в силу соображений performance считать страницы несколькими потоками... Вот здесь уже можно - поспорить с вами, т.к. внутреннего кода MS-SQL-сервера не видели - ни вы, ни я... А читать что-либо "несколькими потоками" - это тоже тратить performance на переключение и синхронизацию между этими потоками, да плюс еще - на "сборку" результата... неувязочка тут - проще будет - в одном потоке, "в лоб", перебором, скажем, кластерного индекса (за неимением лучшего критерия). на: ... по-моему вы придираетесь к sql-серверу необосновано... Вот уж чего не хотел, начиная эту "бодягу", так это - "придираться" к инструменту, который меня "кормит", почитай, уже 8 лет... :-)). Понять хочу - это правда... (к сожалению - не всегда удается, даже с помощью этого замечательного ресурса). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2002, 13:33:36 |
|
||
|
Рушится вера в
|
|||
|---|---|---|---|
|
#18+
2 Tulkin а истина то в чем? в том что все ВИДЕЛИ и ЧИТАЛИ миллионы раз про суть SQL, но конкретный пример не могут привести? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2002, 13:35:32 |
|
||
|
Рушится вера в
|
|||
|---|---|---|---|
|
#18+
2 Tulkin Слышь, чувак! Лихо у тебя недели мелькают (с 30-го августа по 2-е сентября - уже одна пролетела). Давай не будем скатываться на грубости, беру свои слова про "не нормальных" - обратно, в отношении всех присутствующих... Тебе же лично предлагаю на спор ("на слабо") - за ящик пива - через неделю представить здесь в этом топике код на T-SQL, который после дописывания в него 4-х строчек: Код: plaintext 1. 2. 3. 4. ... вернет 2 набора данных с различными порядками сортировки. Если сделаешь - на этом и помиримся... а у меня брат родной в Киеве живет - он тебе пиво проставит под мои личные гарантии... (а если не сделаешь - мне будет достаточно сознания, что я пока - прав). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2002, 13:49:18 |
|
||
|
Рушится вера в
|
|||
|---|---|---|---|
|
#18+
Чтобы проверить порядок вставки записей в таблицу #t1 можно добавить в структуру таблицы поле identity, а при выборке посмотреть по этому полю, в каком-же порядке на самом деле вставлялись записи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2002, 13:57:24 |
|
||
|
Рушится вера в
|
|||
|---|---|---|---|
|
#18+
2 qu-qu на: наверное думаете, что я - ничего про это вообще ни разу не слышал создается такое впечатление... хотелось бы узнать почему вы решили что команда insert into #t2 select * from #t1 order by f1,f0 будет физически располагать на диске записи в той последовательности, в какой они выбираются из t1 ? К этому его никто не обязывает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2002, 14:15:47 |
|
||
|
Рушится вера в
|
|||
|---|---|---|---|
|
#18+
2 Alexandr Kizchenko на: хотелось бы узнать почему вы решили что команда insert into #t2 select * from #t1 order by f1,f0 будет физически располагать на диске записи в той последовательности, в какой они выбираются из t1 ? Так в самом же первом посте - пример приведен (лень код читать, что ли?). Там даже 3 раза специально сделан insert - без сортировки, и с сортировкой по различным полям... и результаты 4-х селектов - приведены... (исходная таблица + 3 целевых). У вас что - другие результаты получаются? (так приводите их сюда - пиво "срубите" на халяву). Или вы - в книжках читаете - что "должно" получиться? (так в книжках - пиво и пейте). 2 Tulkin Кстати, насчет пива - тут братец попросил уточнение сделать: токмо я тебя прошу - не обещай ему гор золотых - хайнекеном отдаваться не буду :)) а ящичек оболоньки, или чего-то отечественного проставлю(если выгорит) - заодно может и "сходняк" устроим :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2002, 14:34:21 |
|
||
|
Рушится вера в
|
|||
|---|---|---|---|
|
#18+
2 qu-qu Пиво это конечно хорошо, но задачу ты видоизменил. Сложно представить себе случай, когда Код: plaintext 1. 2. 3. 4. 5. вернет разные последовательности данных, если конечно в другом процессе никто не изменял содержимое таблицы. Суть ведь, насколко я понял не в том, что два последовательных селекта могут выдать разную сортировку, а в том, что совсем не обязательно селекту доставать из таблички данные в том порядке, в каком их туда запихнули. Так вот,подумай еще раз про условия задачи, а потом уже пиво раздавай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2002, 15:03:03 |
|
||
|
Рушится вера в
|
|||
|---|---|---|---|
|
#18+
to qu-qu Цитата из BOL: ORDER BY is important because relational theory specifies that the rows in a result set cannot be assumed to have any sequence unless ORDER BY is specified. ORDER BY must be used in any SELECT statement for which the order of the result set rows is important. Видать, и в MS теоретики пролезли. Черным по белому: если поставить ORDER BY, порядок гарантирован. Если не поставить ORDER BY, порядок не гарантирован. Какие тут могуть быть вопросы? 1000000 раз проверил, было одинаково, так и всегда будет одинаково? Да в MS кто-нибудь чихнет, и ты после очередного SP получишь другой порядок. У тебя работает, но этого никто не обещал. Ну, вольному - воля. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2002, 15:43:42 |
|
||
|
Рушится вера в
|
|||
|---|---|---|---|
|
#18+
Юконе, ты, Боже ж мой!!! Меня уже цитатками из BOL - глушить начали... :-)). Не, пора закрывать этот топик нафик - от пива уже отказались... за дурака меня - по-прежнему считают... (хотя, просил же как человеков - "не считайте меня за дурака"). Спасибо всем - за внимание... до встречи - в эфире (в других топиках). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2002, 15:59:50 |
|
||
|
Рушится вера в
|
|||
|---|---|---|---|
|
#18+
Попробуйте так Код: 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. Option - для выбора различных стратегий соединения (сиквел мог бы и сам выбрать хэш или циклы - в зависимости от наличия свободной памяти, загрузки, мощности выборок и т.д.) У меня получилось следующее id id ----------- ----------- 1 NULL 3 NULL 5 NULL 7 NULL 9 NULL id id ----------- ----------- 7 NULL 5 NULL 3 NULL 9 NULL 1 NULL @@version Microsoft SQL Server 2000 - 8.00.534 (Intel X86) Nov 19 2001 13:23:50 Copyright (c) 1988-2000 Microsoft Corporation Standard Edition on Windows NT 5.0 (Build 2195: Service Pack 2) Вроде бы как удалось получить при одном и том же (формально) запросе разный порядок данных в выборке В принципе, чуть ранее я об этом и говорил B.R. Alexey ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2002, 20:23:43 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32047434&tid=1820674]: |
0ms |
get settings: |
5ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
39ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 328ms |

| 0 / 0 |
