精华内容
下载资源
问答
  • 在日常数据库使用过程中,很多时候会用到“数据量的估计”这类型的工作任务,明确了解每个表单的数据量,对于数据库的管理和迁移,数据梳理,都非常有意义,在这里,和大家探讨一下数据库中的数据统计方法!...

    在日常数据库使用过程中,很多时候会用到“数据量的估计”这类型的工作任务,明确了解每个表单的数据量,对于数据库的管理和迁移,数据梳理,都非常有意义,在这里,和大家探讨一下数据库中的数据统计方法!

    参考数据库:国产DM7数据库,oracle11g,MySQL

    传统统计方法:

    SELECT

    a.name AS 表名,

    MAX(b.rows) AS 记录条数

    FROM

    sys.sysobjects AS a

    INNER JOIN sys.sysindexes AS b

    ON

    a.id = b.id

    WHERE

    (

    a.xtype = 'u'

    )

    GROUP BY

    a.name

    ORDER BY

    记录条数 DESC

    这种统计方法的好处是可以单独完整的统计单个表单中的数据量,但是如果面对大量数据表单,就不适用了。那么在这里介绍一个我常用的方法,能够直接统计出一个用户下的所有表:

    首先,创建一个新表储存内容:

    create table tj_tables(tab_owner varchar(100),tab_name varchar(100),tab_count int);

    然后,开始对这个表插入统计内容:

    begin

    for rec in (select owner,object_name from all_objects where owner='用户名' and object_type='TABLE') loop

    begin

    execute immediate 'insert into tj_tables select '''|| rec.owner ||''','''|| rec.object_name ||''',count(*) from '|| rec.owner || '.' || rec.object_name;

    exception when others then

    print rec.owner || '.' || rec.object_name || 'get count error';

    end;

    end loop;

    end;

    经过插入之后,只需要查看这个储存统计内容的表单即可

    select * from tj_tables;

    6831a175fac8e5693a7b44beb67d9a0b.png

    如果各位观众老爷还有什么好的统计方法推荐还请多多在下方评论留言!求知之路永无止境啊。

    展开全文
  • 在日常数据库使用过程中,很多时候会用到“数据量的估计”这类型的工作任务,明确了解每个表单的数据量,对于数据库的管理和迁移,数据梳理,都非常有意义,在这里,和大家探讨一下数据库中的数据统计方法!...

    在日常数据库使用过程中,很多时候会用到“数据量的估计”这类型的工作任务,明确了解每个表单的数据量,对于数据库的管理和迁移,数据梳理,都非常有意义,在这里,和大家探讨一下数据库中的数据统计方法!

    参考数据库:国产DM7数据库,oracle11g,MySQL

    传统统计方法:

    SELECT

    a.name AS 表名,

    MAX(b.rows) AS 记录条数

    FROM

    sys.sysobjects AS a

    INNER JOIN sys.sysindexes AS b

    ON

    a.id = b.id

    WHERE

    (

    a.xtype = 'u'

    )

    GROUP BY

    a.name

    ORDER BY

    记录条数 DESC

    这种统计方法的好处是可以单独完整的统计单个表单中的数据量,但是如果面对大量数据表单,就不适用了。那么在这里介绍一个我常用的方法,能够直接统计出一个用户下的所有表:

    首先,创建一个新表储存内容:

    create table tj_tables(tab_owner varchar(100),tab_name varchar(100),tab_count int);

    然后,开始对这个表插入统计内容:

    begin

    for rec in (select owner,object_name from all_objects where owner='用户名' and object_type='TABLE') loop

    begin

    execute immediate 'insert into tj_tables select '''|| rec.owner ||''','''|| rec.object_name ||''',count(*) from '|| rec.owner || '.' || rec.object_name;

    exception when others then

    print rec.owner || '.' || rec.object_name || 'get count error';

    end;

    end loop;

    end;

    经过插入之后,只需要查看这个储存统计内容的表单即可

    select * from tj_tables;

    bb8f421ba4de4a7bcac95ea192e7f506.png

    如果各位观众老爷还有什么好的统计方法推荐还请多多在下方评论留言!求知之路永无止境啊。

    展开全文
  • 在MySQL如何获取数据库所有表的数据行数? 可以 MySQL 自带 information_schema.tables 表的统计信息...
        


    在MySQL中,如何获取数据库下所有表的数据行数?


    可以 MySQL 自带的 information_schema.tables 表的统计信息,初步判断表的数据行大小。

    
    select table_schema,table_name,table_type,table_rows from information_schema.tables where table_schema='mysql';
    

    对于非事务性表, table_rows 这个值是精确的,对于事务性引擎,这个值通常是估算的。例如 MyISAM ,存储精确的数目。对于其它存储引擎,比如 InnoDB ,本值是一个大约的数,与实际值相差可达 40 50% 。在这些情况下,使用 SELECT COUNT(*) 来获得准确的数目。对于在 information_schema 数据库中的表, Rows 值为 NULL

    可以使用如下的 SQL 语句来批量统计数据库中的表的行数:

    
    SELECT CONCAT( 'SELECT "', TABLE_NAME, '", COUNT(*) FROM ', TABLE_SCHEMA, '.', TABLE_NAME, ' UNION ALL' )  EXEC_SQL
    FROM INFORMATION_SCHEMA.TABLES
    WHERE TABLE_SCHEMA = 'mysql';
    

    把生成的 SQL 语句拷贝出来,并去掉最后的一个“ UNION ALL ”就可以执行了。产生的示例 SQL 如下所示:

    
    select "abc_test", count(*) from ths.abc_test union all
    select "abs_asset_pool_basic_info", count(*) from ths.abs_asset_pool_basic_info union all
    select "abs_cash_flow_allot_mechanism", count(*) from ths.abs_cash_flow_allot_mechanism union all
    select "abs_credit_trigger_mechanism", count(*) from ths.abs_credit_trigger_mechanism;
    

    运行结果:

    
    +-------------------------------+----------+
    | abc_test                      | count(*) |
    +-------------------------------+----------+
    | abc_test                      |        0 |
    | abs_asset_pool_basic_info     |     3024 |
    | abs_cash_flow_allot_mechanism |    18857 |
    | abs_credit_trigger_mechanism  |     1380 |
    +-------------------------------+----------+
    4 rows in set (0.06 sec)
    

     






    About Me

    ........................................................................................................................

    ● 本文作者:小麦苗,部分内容整理自网络,若有侵权请联系小麦苗删除

    ● 本文在itpub( http://blog.itpub.net/26736162 )、博客园( http://www.cnblogs.com/lhrbest )和个人weixin公众号( xiaomaimiaolhr )上有同步更新

    ● 本文itpub地址: http://blog.itpub.net/26736162

    ● 本文博客园地址: http://www.cnblogs.com/lhrbest

    ● 本文pdf版、个人简介及小麦苗云盘地址: http://blog.itpub.net/26736162/viewspace-1624453/

    ● 数据库笔试面试题库及解答: http://blog.itpub.net/26736162/viewspace-2134706/

    ● DBA宝典今日头条号地址: http://www.toutiao.com/c/user/6401772890/#mid=1564638659405826

    ........................................................................................................................

    ● QQ群号: 230161599 (满) 、618766405

    ● weixin群:可加我weixin,我拉大家进群,非诚勿扰

    ● 联系我请加QQ好友 646634621 ,注明添加缘由

    ● 于 2019-04-01 06:00 ~ 2019-04-30 24:00 在魔都完成

    ● 最新修改时间:2019-04-01 06:00 ~ 2019-04-30 24:00

    ● 文章内容来源于小麦苗的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

    ● 版权所有,欢迎分享本文,转载请保留出处

    ........................................................................................................................

    小麦苗的微店 https://weidian.com/s/793741433?wfr=c&ifr=shopdetail

    小麦苗出版的数据库类丛书 http://blog.itpub.net/26736162/viewspace-2142121/

    小麦苗OCP、OCM、高可用网络班 http://blog.itpub.net/26736162/viewspace-2148098/

    小麦苗腾讯课堂主页 https://lhr.ke.qq.com/

    ........................................................................................................................

    使用 weixin客户端 扫描下面的二维码来关注小麦苗的weixin公众号( xiaomaimiaolhr )及QQ群(DBA宝典)、添加小麦苗weixin, 学习最实用的数据库技术。

    ........................................................................................................................

    欢迎与我联系

     

     



    来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26736162/viewspace-2642386/,如需转载,请注明出处,否则将追究法律责任。

    展开全文
  • --------------------------------A B C Da b a c a d d e1 1 1 1 1 A A 12 2 1 3 2 B B 23 4 1 4 3 C C 34 6 2 1 4 D D 4--------------------------------下面我们需要用一条sql语句将A表所有的列,B对与Aa...

    首先准备四张表A、B、C、D,

    --------------------------------

    A   B   C   D

    a b a c a d d e

    1 1 1 1 1 A A 1

    2 2 1 3 2 B B 2

    3 4 1 4 3 C C 3

    4 6 2 1 4 D D 4

    --------------------------------

    下面我们需要用一条sql语句将A表所有的列,B表对与A表a字段相关联的列求count,通过C表,将D表与A表关联起来,得到的结果如下:

    1 1 3 1

    2 2 1 2

    3 4 0 3

    4 6 0 4

    Mysql语句解决:

    select A.a,A.b,IFNULL(c,0) as c,D.a

    from (select 1 as a,2 as b union all

    select 2 as a,2 as b union all

    select 3 as a,4 as b union all

    select 4 as a,6 as b) as A

    left outer join

    (select a,count(a) as c from(

    select 1 as a,3 as c union all

    select 1 as a,3 as c union all

    select 1 as a,3 as c union all

    select 2 as a,3 as c ) B group by a) as B

    on A.a=B.a

    join

    (select 1 as a,'A' as d union all

    select 2 as a,'B' as d union all

    select 3 as a,'C' as d union all

    select 4 as a,'D' as d ) as C

    on A.a=C.a

    join(select 1 as a,'A' as d union all

    select 2 as a,'B' as d union all

    select 3 as a,'C' as d union all

    select 4 as a,'D' as d ) as D

    on D.d=C.d

    【相关文章】

    如何理解SQL Server中的Ranking(1)如何从MySQL数据库表中检索数据MYSQL数据库的查询优化技术

    展开全文
  • 今天群里一个朋友问了个问题:如何数据库所有表的记录数都统计出来?  由于以前我曾经试着写过一个存储过程,作用就是删除所有表的内容,思路是这样:  首先通过sysobjects表构造一个sql语句字符串'DELETE...
  • 今天群里一个朋友问了个问题:如何数据库所有表的记录数都统计出来? 由于以前我曾经试着写过一个存储过程,作用就是删除所有表的内容,思路是这样: 首先通过sysobjects表构造一个sql语句字符串'DELETE ...
  • 文章目录查找所有重复电子邮箱(如何查找一个字段重复数字)题目解析思路一:子查询思路二:group by 和 having 查找所有重复电子邮箱(如何查找一个字段重复数字) 题目 解析 思路一:子查询 先利用...
  • 我现在有点为难,我是一个喜欢C#/.NET核心的学生,也喜欢用它来做我的...更精确地说,我有一个关系数据库,其中有一个名为“driverresults”的,它保存所有车手的所有比赛结果,“driverresults”保存“seasondr...
  • 还有很多情况,比如说:在制作CMS时候,文章有个分类问题,所有的文章记录都是存放到同一个表中。 当我们需要统计每个分类文章数量时候,就是这个问题。 在我没有学习过数据示例的数据库,如下:本文说...
  • 本文将介绍PostgreSql数据库表分区的策略以及其在巡查考评组件开发中的应用。2、术语解释主:该是创建子的模板,它是一个正常的普通,但是正常情况下它并不存储任何数据。子/分表:这些继承并属于一个主...
  • 程序开发或者一些数据统计时,在MySQL使用GROUP BY分组是很常用SQL语句。那么,如果如下简单示例订单数据,我们现需要使用GROUP BY分组后查询每个用户第一个订单记录,应该如何实现呢?首先,我们创建示例...
  • 还有很多情况,比如说:在制作CMS时候,文章有个分类问题,所有的文章记录都是存放到同一个表中。 当我们需要统计每个分类文章数量时候,就是这个问题。 在我没有学习过数据库相关一些知识时候,我是...
  • 还有很多情况,比如说:在制作CMS时候,文章有个分类问题,所有的文章记录都是存放到同一个表中。当我们需要统计每个分类文章数量时候,就是这个问题。在我没有学习过数据库相关一些知识时候,我是这样...
  • pg-index-health是一个Java库,用于分析和维护数据库中的索引运行状况。 支持的PostgreSQL版本 可用支票 pg-index-health可让您检测以下问题: 无效(损坏的)索引( )。 重复(完全相同)的索引( )。 相交...
  • Navicat Premium是一个可连接多种数据库的管理工具,它可以让你以单一程序同时连接到MySQL、Oracle及...在今天的最后第三部分中,我们将学习如何数据库或整个模式中的所有表中获取行计数。查询信息模式数据库您不...
  • 综合分析你执行的所有SQL语句。最好将他们一个个都列出来。然后分析,发现其中有些字段在大部分的SQL语句查询时候都会用到,那么就果断为他建立索引。 2、主键自动创建唯一索引 3、查询与其他有关联的字段,...
  • 数据库实验报告

    2017-12-14 23:37:15
    ☆ 建立一个DDL 触发器,不允许删除数据库中表,并作出响应。 实验六 实验题目: 数据库安全性 实验目的: 掌握SQL SERVER 2005安全控制机制 实验内容: 1. 创建登录 创建lg1,lg2,并设定口令 2. 定义...
  • 9.4 分布式数据库中的查询处理 189 9.4.1 分布式查询处理的数据传输代价 189 9.4.2 使用半连接的分布式查询处理 191 9.4.3 查询和更新分解 191 9.5 分布式数据库中并发控制和恢复概述 193 ...
  • 本文将介绍PostgreSql数据库表分区的策略以及其在巡查考评组件开发中的应用。2、术语解释主:该是创建子的模板,它是一个正常的普通,但是正常情况下它并不存储任何数据。子/分表:这些继承并属于一个主...
  • 在数据库画板中可以显示数据库中的所有数据(即使不是用PowerBuilder创建的),创建数据,修改的定义等数据是数据库中一个非常重要的对象,是其他对象的基础。没有数据,关键字、主键、索引等也就...
  •  在一行中统计24小时内所有货物的销售(售出,退货)数据,把日期考虑在内。 分析:  这实际上是行转列的一个应用,在进行行转列之前,需要补全24小时的所有数据。补全数据可以通过系统的数字辅助 spt_values来...
  • oracle数据库经典题目

    2011-02-17 15:05:20
    在需要返回查询结果中的所有行时,可以使用关键字ALL。 4.当进行模糊查询时,应使用关键字like和通配符问号(?)或百分号"%"。 5.Where子句可以接收From子句输出的数据,而HAVING子句则可以接收来自WHERE、FROM或...
  • 4.1.2 所有数据库文件中的I/O瓶颈 59 4.1.3 后台进程中的并发I/O操作 61 4.1.4 定义系统恢复能力与性能目标 61 4.1.5 系统硬件及结构镜像的定义 62 4.1.6 识别专用于数据库的磁盘 62 4.1.7 选择正确的设计 63 4.2 I/...

空空如也

空空如也

1 2 3 4 5 ... 11
收藏数 207
精华内容 82
关键字:

如何统计数据库中的所有表