Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Странности оптимизатора
|
|||
|---|---|---|---|
|
#18+
Вопросы: 1) кто знает, зачем тут сортировка в файлах, если записи выдаются по этому плану запроса УЖЕ упорядоченными? 2) почему syscolumns зелёный, а systables нет :) Код: plaintext 1. 2. 3. 4. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 19:26 |
|
||
|
Странности оптимизатора
|
|||
|---|---|---|---|
|
#18+
АнатоЛой 1) кто знает, зачем тут сортировка в файлах, если записи выдаются по этому плану запроса УЖЕ упорядоченными? Ну или почему Код: plaintext 1. 2. а вот уникального индекса systables(tabname) нет, в то время как есть уникальный индекс systables(tabname, owner)... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 19:34 |
|
||
|
Странности оптимизатора
|
|||
|---|---|---|---|
|
#18+
АнатоЛойВопросы: 1) кто знает, зачем тут сортировка в файлах, если записи выдаются по этому плану запроса УЖЕ упорядоченными? 2) почему syscolumns зелёный, а systables нет :) Код: plaintext 1. 2. 3. 4. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. если вместо tabname = 'sd_title' вы поставите любое другое условие ("<>", BETWEEN, IN (...) ) - вам сразу станет ясно, зачем промежуточная сортировка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 22:03 |
|
||
|
Странности оптимизатора
|
|||
|---|---|---|---|
|
#18+
АнатоЛой АнатоЛой 1) кто знает, зачем тут сортировка в файлах, если записи выдаются по этому плану запроса УЖЕ упорядоченными? Ну или почему Код: plaintext 1. 2. а вот уникального индекса systables(tabname) нет, в то время как есть уникальный индекс systables(tabname, owner)... Ну он же не ругается, что нарушена уникальность индекса ? А в документации честно пишут, что имя таблицы должно быть уникальным внутри базы, и владелец нии..волнует. Так вот оно исторически сложилось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 22:06 |
|
||
|
Странности оптимизатора
|
|||
|---|---|---|---|
|
#18+
АнатоЛойВопросы: 1) кто знает, зачем тут сортировка в файлах, если записи выдаются по этому плану запроса УЖЕ упорядоченными? Они упорядочены по tabname owner tabid colno, информикс не знает что tabname owner tabid уникальны в данном случае и знать не может. Информикс допускает таблицы с одинаковыми именами и разными владельцами, читайте про ansi совместимые бд. АнатоЛой2) почему syscolumns зелёный, а systables нет :)потому что парсер универсальный, подозреваю что в mssql есть таблица syscolumns а systables нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2007, 08:48 |
|
||
|
Странности оптимизатора
|
|||
|---|---|---|---|
|
#18+
Выбегалло Если вместо tabname = 'sd_title' вы поставите любое другое условие ("<>", BETWEEN, IN (...) ) - вам сразу станет ясно, зачем промежуточная сортировка. Ну да, ну да, это-то я понимаю :) Но у меня-то не ЕСЛИ! :) ВыбегаллоТак вот оно исторически сложилось. Это был для меня один из наиболее вероятных ответов, но тут ответил Денис: Журавлев Денис Информикс допускает таблицы с одинаковыми именами и разными владельцами, читайте про ansi совместимые бд. Восполнил свои пробелы в теории, проверил на практике - таки оно работает :) Код: plaintext 1. 2. 3. 4. 5. 6. Журавлев ДенисОни упорядочены по tabname owner tabid colno, информикс не знает что tabname owner tabid уникальны в данном случае и знать не может. Пасибо, вот теперь я это уже понимаю и причём следующим образом: В связи с поддержкой ANSI-совместимых БД сложновато в таблице systables описать уникальность поля tabname для не ANSI-совместимых БД. По крайней мере, я с ходу не придумал как это сделать так, чтобы приведённому запросу в его оригинальном виде полегчало. Журавлёв, садитесь - зачёт! :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2007, 11:39 |
|
||
|
Странности оптимизатора
|
|||
|---|---|---|---|
|
#18+
АнатоЛой В связи с поддержкой ANSI-совместимых БД сложновато в таблице systables описать уникальность поля tabname для не ANSI-совместимых БД. По крайней мере, я с ходу не придумал как это сделать так, чтобы приведённому запросу в его оригинальном виде полегчало.Я так не думаю. Я считаю что сортировки не будет только в том случае если эта таблица первая в плане. И поле по которому сортируем "первое" в индексе. Код: 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. 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. Никаких странностей тут нет. Все математически идеально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2007, 11:52 |
|
||
|
Странности оптимизатора
|
|||
|---|---|---|---|
|
#18+
Продолжим практическое занятие: Код: plaintext 1. 2. 3. 4. 5. 6. 7. И шо бы вы думали? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Нет пророка в своём отечестве Никак информикс не увязал наличие двух уникальных индексов systables(tabname, owner) и systables(tabid), чтобы понять что из systables он достанет не больше одной записи, и значит использование индекса syscolumns(tabid, colno) возвращает уже упорядоченную последовательность, требуемую фильтром... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2007, 11:53 |
|
||
|
Странности оптимизатора
|
|||
|---|---|---|---|
|
#18+
Журавлев Денис Я считаю что сортировки не будет только в том случае если эта таблица первая в плане. И поле по которому сортируем "первое" в индексе. Мне показалось, или таки в обоих ваших запросах это "жирное" условие соблюдено, и тем не менее оптимизация разная?! Журавлев Денис Никаких странностей тут нет. Все математически идеально. Вот здесь не понял. В чём отличия для поведения в случае с "=", и в случае с "IN"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2007, 12:02 |
|
||
|
Странности оптимизатора
|
|||
|---|---|---|---|
|
#18+
АнатоЛойМне показалось, или таки в обоих ваших запросах это "жирное" условие соблюдено, и тем не менее оптимизация разная?!Индеск-то табид колно. Поэтому в случае [tabid=] colno -- будет "первым", а в случае [tabid in] не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2007, 12:12 |
|
||
|
|

start [/forum/topic.php?fid=44&fpage=41&tid=1608307]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
219ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 221ms |
| total: | 511ms |

| 0 / 0 |
