Очень высокая загрузка ЦП из-за некоторого оператора select на открытом воздухе БД SQLserver - PullRequest
0 голосов
/ 10 июня 2019

Совместное использование некоторых захваченных операторов select, ниже которых они имеют либо высокое чтение / высокая скорость (spid 57), либо блокирование (spid 87/86) с оператором вставки / обновления (см. Экран печати), в alf_node.Я хотел бы упомянуть одну вещь об этих утверждениях select: в основном это одни и те же операторы, но некоторые имеют высокие показатели чтения, а некоторые - нет.Некоторые из них связаны с блокировкой, а некоторые нет.Из-за этого на открытом воздухе часто становится недоступным.Запрос на выборку ниже является очень часто выполняемым оператором.Это начало происходить несколько дней назад и никогда не наблюдалось в последние 3-4 года.Нет значительных изменений в количестве пользователей или кодовой базы под открытым небом.

(@ P0 bigint, @ P1 bigint, @ P2 bigint, @ P3 nvarchar (4000)) Высокая загрузка ЦП и чтение запроса

(spid 57)

    select
                assoc.id                    as id,
                parentNode.id               as parentNodeId,
                parentNode.version          as parentNodeVersion,
                parentStore.protocol        as parentNodeProtocol,
                parentStore.identifier      as parentNodeIdentifier,
                parentNode.uuid             as parentNodeUuid,
                childNode.id                as childNodeId,
                childNode.version           as childNodeVersion,
                childStore.protocol         as childNodeProtocol,
                childStore.identifier       as childNodeIdentifier,
                childNode.uuid              as childNodeUuid,
                assoc.type_qname_id         as type_qname_id,
                assoc.child_node_name_crc   as child_node_name_crc,
                assoc.child_node_name       as child_node_name,
                assoc.qname_ns_id           as qname_ns_id,
                assoc.qname_localname       as qname_localname,
                assoc.is_primary            as is_primary,
                assoc.assoc_index           as assoc_index


            from
                alf_child_assoc assoc
                join alf_node parentNode on (parentNode.id = assoc.parent_node_id)
                join alf_store parentStore on (parentStore.id = parentNode.store_id)
                join alf_node childNode on (childNode.id = assoc.child_node_id)
                join alf_store childStore on (childStore.id = childNode.store_id)

            where
                parentNode.id = @P0

                 and assoc.qname_crc = @P1 
                 and assoc.qname_ns_id = @P2 
                 and assoc.qname_localname = @P3 

            order by
                assoc.assoc_index ASC,
                assoc.id ASC



    spid 87

    select
                assoc.id                    as id,
                parentNode.id               as parentNodeId,
                parentNode.version          as parentNodeVersion,
                parentStore.protocol        as parentNodeProtocol,
                parentStore.identifier      as parentNodeIdentifier,
                parentNode.uuid             as parentNodeUuid,
                childNode.id                as childNodeId,
                childNode.version           as childNodeVersion,
                childStore.protocol         as childNodeProtocol,
                childStore.identifier       as childNodeIdentifier,
                childNode.uuid              as childNodeUuid,
               assoc.type_qname_id         as type_qname_id,
                assoc.child_node_name_crc   as child_node_name_crc,
                assoc.child_node_name       as child_node_name,
                assoc.qname_ns_id           as qname_ns_id,
                assoc.qname_localname       as qname_localname,
                assoc.is_primary            as is_primary,
                assoc.assoc_index           as assoc_index


            from
                alf_child_assoc assoc
                join alf_node parentNode on (parentNode.id = assoc.parent_node_id)
                join alf_store parentStore on (parentStore.id = parentNode.store_id)
                join alf_node childNode on (childNode.id = assoc.child_node_id)
                join alf_store childStore on (childStore.id = childNode.store_id)

            where
                parentNode.id = @P0

                 and assoc.qname_crc = @P1 
                 and assoc.qname_ns_id = @P2 
                 and assoc.qname_localname = @P3 


            order by
                assoc.assoc_index ASC,
                assoc.id ASC

    spid 86

    select
                assoc.id                    as id,
                parentNode.id               as parentNodeId,
                parentNode.version          as parentNodeVersion,
                parentStore.protocol        as parentNodeProtocol,
                parentStore.identifier      as parentNodeIdentifier,
                parentNode.uuid             as parentNodeUuid,
                childNode.id                as childNodeId,
                childNode.version           as childNodeVersion,
                childStore.protocol         as childNodeProtocol,
                childStore.identifier       as childNodeIdentifier,
                childNode.uuid              as childNodeUuid,
                assoc.type_qname_id         as type_qname_id,
                assoc.child_node_name_crc   as child_node_name_crc,
                assoc.child_node_name       as child_node_name,
                assoc.qname_ns_id           as qname_ns_id,
                assoc.qname_localname       as qname_localname,
                assoc.is_primary            as is_primary,
                assoc.assoc_index           as assoc_index


            from
                alf_child_assoc assoc
                join alf_node parentNode on (parentNode.id = assoc.parent_node_id)
                join alf_store parentStore on (parentStore.id = parentNode.store_id)
                join alf_node childNode on (childNode.id = assoc.child_node_id)
                join alf_store childStore on (childStore.id = childNode.store_id)

            where
                parentNode.id = @P0
                 and assoc.qname_crc = @P1 
                 and assoc.qname_ns_id = @P2 
                 and assoc.qname_localname = @P3 
            order by
                assoc.assoc_index ASC,
                assoc.id ASC

Из-за этого время от времени становится недоступным.Нам нужно это остановить.Или любая оценка будет оценена.

...