|
|
|
alter index INactive для индекса depth=13 делается ~80 сек. Why ?
|
|||
|---|---|---|---|
|
#18+
hi all Имеется вот такая базейка (page_size = 16384) с одной табличкой и несколькими "кошмарными" индексами: Код: 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. Если после её создания приконнектиться единственным аттачем (без указания '-n') и сделать вот это: Код: plaintext Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Трейс покажет, что время: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Если теперь снова сделать коннект (по-прежнему единственный) и ввести: Код: plaintext Код: plaintext Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Как только делаем переконнект, так сразу получаем затык по времени для INactive. Отчего это ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2014, 23:50 |
|
||
|
alter index INactive для индекса depth=13 делается ~80 сек. Why ?
|
|||
|---|---|---|---|
|
#18+
Таблоид, при удалении (де-активации) индекса движок должен пометить все его страницы, как свободные. Для этого их нужно найти. Для этого нужно обойти всё дерево, кроме листьев. В первом случае у тебя коммит читает 66681 страницу. Это значит, что индекса нет в кеше и читает его именно коммит. Отсюда задержка 80 сек. Во втором случае ты в одном и том же коннекте сначала создал индекс (тем самым поместил его в кеш), а потом удаляешь (деактивируешь). Поэтому коммит ничего не читает и выполняется быстро. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2014, 14:47 |
|
||
|
alter index INactive для индекса depth=13 делается ~80 сек. Why ?
|
|||
|---|---|---|---|
|
#18+
hvladпри удалении (де-активации) индекса движок должен пометить все его страницы, как свободные. Для этого их нужно найти. Для этого нужно обойти всё дерево, кроме листьев. В первом случае у тебя коммит читает 66681 страницу. Это значит, что индекса нет в кеше и читает его именно коммит. Отсюда задержка 80 сек."век живу - тупкой помру": почему-то считал, что alter index inactive не только держит индекс в словаре БД, но еще и не занимается пометкой его страниц как свободных (полагал, что это всё только drop index делает). PS. А почему ты говоришь, что "обойти надо всё дерево, КРОМЕ листьев" ? Страницы листового уровня - они что, "не участвуют в самодеятельности" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2014, 15:16 |
|
||
|
alter index INactive для индекса depth=13 делается ~80 сек. Why ?
|
|||
|---|---|---|---|
|
#18+
ТаблоидА почему ты говоришь, что "обойти надо всё дерево, КРОМЕ листьев" ? Страницы листового уровня - они что, "не участвуют в самодеятельности" ?Потому, что номера страниц последнего (листового) уровня известны на предпоследнем уровне :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2014, 15:38 |
|
||
|
|

start [/forum/topic.php?fid=40&fpage=85&tid=1563166]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 352ms |

| 0 / 0 |
