|
Тормоза в FB 3 при использовании процедуры List_to_rows
|
|||
---|---|---|---|
#18+
Здравствуйте есть процедура Код: plsql 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.
в фб 2.5 join-ы очень быстро проходили, но при переходе на 3.0 начались тормоза 0.3 сек в фб2.5 против 7сек в фб3, если явно указать Код: plsql 1.
то все работает идеально. как победить? нет ли в фб3 встроенного split-a более быстрого? Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2016, 19:55 |
|
Тормоза в FB 3 при использовании процедуры List_to_rows
|
|||
---|---|---|---|
#18+
Воспроизводимый пример можно? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2016, 20:14 |
|
Тормоза в FB 3 при использовании процедуры List_to_rows
|
|||
---|---|---|---|
#18+
Minkus, попробуй вот это Код: plsql 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2016, 23:07 |
|
Тормоза в FB 3 при использовании процедуры List_to_rows
|
|||
---|---|---|---|
#18+
-- использую sp_split -------- ------ Performance info ------ Prepare time = 31ms Execute time = 2s 750ms Current memory = 175 838 032 Max memory = 0 Memory buffers = 2 048 Reads from disk to cache = 1 109 Writes from cache to disk = 18 Fetches from cache = 2 138 557 -- через execute statement -- подставляю напрямую значения ------ Performance info ------ Prepare time = 110ms Execute time = 0ms Current memory = 176 174 120 Max memory = 0 Memory buffers = 2 048 Reads from disk to cache = 5 Writes from cache to disk = 0 Fetches from cache = 3 122 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2016, 23:54 |
|
Тормоза в FB 3 при использовании процедуры List_to_rows
|
|||
---|---|---|---|
#18+
Minkus-- использую sp_split -------- ------ Performance info ------ Это фигня, ты планы показывай. И собственно запросы, а то кто ж знает каким кривоспособом ты его используешь... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2016, 23:56 |
|
Тормоза в FB 3 при использовании процедуры List_to_rows
|
|||
---|---|---|---|
#18+
запрос 1 Код: plsql 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. 72. 73. 74. 75. 76.
план 1 Plan PLAN (SP_GET_FLAGVALUE NATURAL) PLAN (SP_GET_FLAGVALUE NATURAL) PLAN (TS_CUSTOMER INDEX (PK_TS_CUSTOMER)) PLAN (TS_CUSTOMER INDEX (PK_TS_CUSTOMER)) PLAN (TS_DOCTYPES INDEX (PK_TS_DOCTYPES)) PLAN (TS_USERS INDEX (PK_TS_USERS)) PLAN (TS_CUSTOMER INDEX (PK_TS_CUSTOMER)) PLAN (TS_CUSTOMER INDEX (PK_TS_CUSTOMER)) PLAN (TS_DOCTYPES INDEX (PK_TS_DOCTYPES)) PLAN (TS_USERS INDEX (PK_TS_USERS)) PLAN (TS_CUSTOMER INDEX (PK_TS_CUSTOMER)) PLAN (TS_CUSTOMER INDEX (PK_TS_CUSTOMER)) PLAN (TS_DOCTYPES INDEX (PK_TS_DOCTYPES)) PLAN (TS_USERS INDEX (PK_TS_USERS)) PLAN (JOIN (G INDEX (PK_TS_GOODS), J INDEX (FK_TDB_JURNAL_5), D INDEX (PK_TDB_DOCS), STOC_DT INDEX (PK_TS_STOCKS), STOC_CT INDEX (PK_TS_STOCKS)), JOIN (G1 INDEX (PK_TS_GOODS), SP INDEX (FK_TDB_JURNAL_SP_2), D INDEX (PK_TDB_DOCS), STOC_DT INDEX (PK_TS_STOCKS), STOC_CT INDEX (PK_TS_STOCKS)), JOIN (G2 INDEX (PK_TS_GOODS), SP INDEX (FK_TDB_JURNAL_SP_6), D INDEX (PK_TDB_DOCS), STOC_DT INDEX (PK_TS_STOCKS), STOC_CT INDEX (PK_TS_STOCKS))) sql split Код: plsql 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. 72. 73. 74. 75. 76. 77.
plan 2 (split)Plan PLAN (SP_GET_FLAGVALUE NATURAL) PLAN (SP_GET_FLAGVALUE NATURAL) PLAN (TS_CUSTOMER INDEX (PK_TS_CUSTOMER)) PLAN (TS_CUSTOMER INDEX (PK_TS_CUSTOMER)) PLAN (TS_DOCTYPES INDEX (PK_TS_DOCTYPES)) PLAN (TS_USERS INDEX (PK_TS_USERS)) PLAN (TS_CUSTOMER INDEX (PK_TS_CUSTOMER)) PLAN (TS_CUSTOMER INDEX (PK_TS_CUSTOMER)) PLAN (TS_DOCTYPES INDEX (PK_TS_DOCTYPES)) PLAN (TS_USERS INDEX (PK_TS_USERS)) PLAN (TS_CUSTOMER INDEX (PK_TS_CUSTOMER)) PLAN (TS_CUSTOMER INDEX (PK_TS_CUSTOMER)) PLAN (TS_DOCTYPES INDEX (PK_TS_DOCTYPES)) PLAN (TS_USERS INDEX (PK_TS_USERS)) PLAN (JOIN (JOIN (JOIN (CC SP_SPLIT NATURAL, D INDEX (FK_TDB_DOCS_1)), STOC_DT INDEX (PK_TS_STOCKS), STOC_CT INDEX (PK_TS_STOCKS), J INDEX (TDB_JURNAL_IDX1)), G INDEX (PK_TS_GOODS)), JOIN (JOIN (JOIN (CC SP_SPLIT NATURAL, D INDEX (FK_TDB_DOCS_1)), SP INDEX (TDB_JURNAL_SP_IDX1), STOC_DT INDEX (PK_TS_STOCKS), STOC_CT INDEX (PK_TS_STOCKS)), G1 INDEX (PK_TS_GOODS)), JOIN (JOIN (JOIN (CC SP_SPLIT NATURAL, D INDEX (FK_TDB_DOCS_1)), SP INDEX (TDB_JURNAL_SP_IDX2), STOC_DT INDEX (PK_TS_STOCKS), STOC_CT INDEX (PK_TS_STOCKS)), G2 INDEX (PK_TS_GOODS))) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2016, 11:29 |
|
Тормоза в FB 3 при использовании процедуры List_to_rows
|
|||
---|---|---|---|
#18+
Minkus, а вот так? Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2016, 11:55 |
|
Тормоза в FB 3 при использовании процедуры List_to_rows
|
|||
---|---|---|---|
#18+
Minkusinner join (select id from sp_split( Я так и думал. Статьи о вызове ХП не читаны. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2016, 11:57 |
|
Тормоза в FB 3 при использовании процедуры List_to_rows
|
|||
---|---|---|---|
#18+
Minkus, жесть. Несколько вопросов, которые помогут тебе оптимизировать запрос: 1. не понял на фига тут подзапросы накручены, когда можно было простым join обойтись? 2. почему вот это условие не where Sp.Ct_Goodsid = :Goodsid_In? 3. зачем процедуру в derived table засунул? 4. Засовывать подзапросы в условие соединения не надо 5. Sp_Get_Flagvalue лучше выполнять один раз вместо двух Код: 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.
тут только первая половина запроса. То что у тебя после UNION ALL мне переделывать лень ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2016, 11:57 |
|
Тормоза в FB 3 при использовании процедуры List_to_rows
|
|||
---|---|---|---|
#18+
Симонов Денис, вот тут ошибка Код: sql 1.
должно быть Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2016, 12:01 |
|
Тормоза в FB 3 при использовании процедуры List_to_rows
|
|||
---|---|---|---|
#18+
Спасибо, помогло! ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2016, 21:29 |
|
Тормоза в FB 3 при использовании процедуры List_to_rows
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Где статьи про вызовы ХП прочитать ? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2016, 07:32 |
|
|
start [/forum/topic.php?fid=40&gotonew=1&tid=1561861]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
12ms |
get first new msg: |
7ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 268ms |
total: | 414ms |
0 / 0 |