zoukankan      html  css  js  c++  java
  • 数据库数据流量太大-问题诊断

    问题:

    运维报告某一台数据库,数据流量太大,具体数值不清楚。超过其他正常数据库的流量。

    问题分析:

    数据流量过大,猜测是一是数据库访问量增加(可能性不大,基本排除),二是某些项目的sql查询了单表的大量数据。有可能是查询条件筛选访问过大。

    公司项目:

    dotnet4.5、entityframe work 6.1.3、sqlServer

    处理方法:

    1,sqlServer  统计查询返回的数据量

    https://docs.microsoft.com/zh-cn/sql/relational-databases/system-dynamic-management-views/sys-dm-exec-query-stats-transact-sql?view=sql-server-2017

    SELECT TOP 50
    qs.total_worker_time/qs.execution_count as [Avg CPU Time],
    SUBSTRING(qt.text,qs.statement_start_offset/2,
    (case when qs.statement_end_offset = -1
    then len(convert(nvarchar(max), qt.text)) * 2
    else qs.statement_end_offset end -qs.statement_start_offset)/2)
    as query_text,
    qt.dbid, dbname=db_name(qt.dbid),
    qt.objectid ,
    qs.total_rows,qs.last_rows ,qs.max_rows ,qs.min_rows
    FROM sys.dm_exec_query_stats qs
    cross apply sys.dm_exec_sql_text(qs.sql_handle) as qt
    ORDER BY total_rows DESC;

    2,经以上查询,发现有一张表的查询sql,无where条件。

    再对对应的项目,进行代码核查,发现Entity FrameWork中where条件未生成。

    具体代码不在我手里。无EF业务代码。

    where条件生成原理,请查看Entity FrameWork的具体细节。

  • 相关阅读:
    ATS项目更新(1) CC视图与备份路径同步
    IP地址的正则表达式
    python下载图片(2)
    NS2网络模拟(2)丢包率
    NS2网络模拟(7)homework03.tcl
    python 教程 第二十二章、 其它应用
    python 教程 第十九章、 图形界面编程
    python中string的操作函数
    python中对文件、文件夹的操作
    HTTP状态码(HTTP Status Code)
  • 原文地址:https://www.cnblogs.com/suzixuan/p/12600432.html
Copyright © 2011-2022 走看看