|
|
|
Помогите оптимизовать запрос, очень долго виполняется
|
|||
|---|---|---|---|
|
#18+
select distinct(d.dbid), count(d.id) from t_document d join object o on d.dbid = o.dbid and d.id = o.id and o.change_date > '01.05.2014' and o.change_date < '01.06.2014' join t_editor e on o.editor_dbid=e.dbid and o.editor_id=e.id join t_doc_type dt on e.doc_type_dbid = dt.dbid and e.doc_type_id = dt.id and dt.form_decision2_dbid=0 and dt.form_decision2_id in (16990,16988,16991,16989,16992,209964) where d.status_doc_dbid = 0 and d.status_doc_id = 14817 group by d.dbid Plan (204 records) PLAN SORT (SORT (JOIN (O INDEX (IDX_CHANGE_DATE), D INDEX (PK_T_DOCUMENT), E INDEX (PK_T_EDITOR), DT INDEX (PK_T_DOC_TYPE)))) ------ Performance info ------ Prepare time = 78ms Execute time = 19m 43s 2ms Avg fetch time = 43 814,89 ms Current memory = 188 638 320 Max memory = 206 549 056 Memory buffers = 10 000 Reads from disk to cache = 0 Writes from cache to disk = 0 Fetches from cache = 0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2014, 15:10 |
|
||
|
Помогите оптимизовать запрос, очень долго виполняется
|
|||
|---|---|---|---|
|
#18+
NOCaut, t_document - есть ли у ней индекс по полю dbid ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2014, 15:15 |
|
||
|
Помогите оптимизовать запрос, очень долго виполняется
|
|||
|---|---|---|---|
|
#18+
Таблоид, Сейчас гляну ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2014, 15:16 |
|
||
|
Помогите оптимизовать запрос, очень долго виполняется
|
|||
|---|---|---|---|
|
#18+
NOCaut Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Plan (204 records) PLAN SORT (SORT (JOIN (O INDEX (IDX_CHANGE_DATE), D INDEX (PK_T_DOCUMENT), E INDEX (PK_T_EDITOR), DT INDEX (PK_T_DOC_TYPE)))) Ну для начала убрав Distinct, который тут совсем не нужен, возможно избавишься в плане от одного SORT , хотя не думаю что это поможет зы. запрос как запрос, не зная какие там индексы, и их статистику, как мне кажется оптимизировать ничего нельзя ззы. и как меня "утомляет" вот такое Код: sql 1. 2. 3. 4. 5. вместо Код: sql 1. 2. 3. 4. 5. но это мои предпочтения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2014, 15:25 |
|
||
|
Помогите оптимизовать запрос, очень долго виполняется
|
|||
|---|---|---|---|
|
#18+
NOCaut Код: sql 1. Может так надежнее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2014, 15:26 |
|
||
|
Помогите оптимизовать запрос, очень долго виполняется
|
|||
|---|---|---|---|
|
#18+
Індекси використовується по всім таблицям, це в плані видно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2014, 15:26 |
|
||
|
Помогите оптимизовать запрос, очень долго виполняется
|
|||
|---|---|---|---|
|
#18+
NOCaut Код: sql 1. Какой идиот сюда поставил distinct? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2014, 15:28 |
|
||
|
Помогите оптимизовать запрос, очень долго виполняется
|
|||
|---|---|---|---|
|
#18+
авторNOCaut O.Change_Date >= '01.05.2014' and Может так надежнее? я в сам процес не углублялся, задачу дали оптимизировать чтоб бстрее было ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2014, 15:28 |
|
||
|
Помогите оптимизовать запрос, очень долго виполняется
|
|||
|---|---|---|---|
|
#18+
NOCaut, а почему не в Access? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2014, 15:30 |
|
||
|
Помогите оптимизовать запрос, очень долго виполняется
|
|||
|---|---|---|---|
|
#18+
непонял? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2014, 15:32 |
|
||
|
Помогите оптимизовать запрос, очень долго виполняется
|
|||
|---|---|---|---|
|
#18+
Hello, Nocaut! You wrote on 24 июля 2014 г. 15:33:08: Nocaut> непонял? а я знаю? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2014, 15:34 |
|
||
|
Помогите оптимизовать запрос, очень долго виполняется
|
|||
|---|---|---|---|
|
#18+
NOCautавторNOCaut O.Change_Date >= '01.05.2014' and Может так надежнее? я в сам процес не углублялся, задачу дали оптимизировать чтоб бстрее было Тогда даю повод ткнуть разработчикам в явную ошибку в логике, чтобы вырасти в их (и не только) глазах. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2014, 15:37 |
|
||
|
Помогите оптимизовать запрос, очень долго виполняется
|
|||
|---|---|---|---|
|
#18+
))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2014, 15:38 |
|
||
|
Помогите оптимизовать запрос, очень долго виполняется
|
|||
|---|---|---|---|
|
#18+
NOCaut, для начала перемести из on все условия по котором нет связи в where. Хоть это и не оптимизирует но вопрос станет понятней. И заодно убери DISTINCT получаем Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. смотрим на него и удивляемся. Если ID - это ПК, то автор JOIN OBJECT O ON D.DBID = O.DBID AND D.ID = O.ID условия вида D.DBID = O.DBID лишние. Точнее можно сказать если будут приведены DDL таблиц из запроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2014, 15:38 |
|
||
|
Помогите оптимизовать запрос, очень долго виполняется
|
|||
|---|---|---|---|
|
#18+
автор. . . join Object O on D.Dbid = O.Dbid and D.Id = O.Id and O.Change_Date > '01.05.2014' and O.Change_Date < '01.06.2014' PLAN SORT (SORT (JOIN ( O INDEX (IDX_CHANGE_DATE) , D INDEX (PK_T_DOCUMENT), E INDEX (PK_T_EDITOR), DT INDEX (PK_T_DOC_TYPE)))) Індекси використовується по всім таблицям, це в плані видно В таблице 'object' есть индекс(ы) по полям dbid + id или по ним же, но по-отдельности ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2014, 15:39 |
|
||
|
Помогите оптимизовать запрос, очень долго виполняется
|
|||
|---|---|---|---|
|
#18+
убрал DISTINCT жду выполнения запроса, потом посмотрю мндекс ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2014, 15:44 |
|
||
|
Помогите оптимизовать запрос, очень долго виполняется
|
|||
|---|---|---|---|
|
#18+
NOCautPlan (204 records) PLAN SORT (SORT (JOIN (O INDEX (IDX_CHANGE_DATE), D INDEX (PK_T_DOCUMENT), E INDEX (PK_T_EDITOR), DT INDEX (PK_T_DOC_TYPE)))) ------ Performance info ------ Prepare time = 78ms Execute time = 19m 43s 2ms Avg fetch time = 43 814,89 ms Current memory = 188 638 320 Max memory = 206 549 056 Memory buffers = 10 000 Reads from disk to cache = 0 Writes from cache to disk = 0 Fetches from cache = 0 фигня какая то ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2014, 15:46 |
|
||
|
Помогите оптимизовать запрос, очень долго виполняется
|
|||
|---|---|---|---|
|
#18+
ето план результата запроса, сейчас попробую посмотреть что в Plan Analyzer ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2014, 15:47 |
|
||
|
Помогите оптимизовать запрос, очень долго виполняется
|
|||
|---|---|---|---|
|
#18+
NOCaut, я про 0 фетчей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2014, 15:48 |
|
||
|
Помогите оптимизовать запрос, очень долго виполняется
|
|||
|---|---|---|---|
|
#18+
NOCautІндекси використовується по всім таблицям, це в плані видно К сожалению использование индексов по всем таблицам (что показано в плане), не дает никакой информации, окромя того что они используются нет, конечно можно догадаться что таблицы D , E , DT связаны по первичному ключу и что для таблицы О используется индекс по полю .change_date но это только догадки, которые могут совсем не соответствовать реальности ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2014, 15:50 |
|
||
|
Помогите оптимизовать запрос, очень долго виполняется
|
|||
|---|---|---|---|
|
#18+
результат плана ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2014, 15:55 |
|
||
|
Помогите оптимизовать запрос, очень долго виполняется
|
|||
|---|---|---|---|
|
#18+
Hello, Симонов Денис! You wrote on 24 июля 2014 г. 15:55:19: Симонов Денис> я про 0 фетчей папа, а ты с кем сейчас разговаривал? (с) Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2014, 15:56 |
|
||
|
Помогите оптимизовать запрос, очень долго виполняется
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий я непонимаю вас ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2014, 15:57 |
|
||
|
Помогите оптимизовать запрос, очень долго виполняется
|
|||
|---|---|---|---|
|
#18+
m7m, И в догонку, если я правильно читаю план ведущей была выбрана таблица object o , возможно было-бы лучше если ведущей была таблица T_DOCUMENT D но это уже зависит от данных о которых тебе известно больше чем нам ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2014, 15:59 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38705075&tid=1563444]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
179ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
88ms |
get tp. blocked users: |
2ms |
| others: | 224ms |
| total: | 537ms |

| 0 / 0 |
