- 浏览: 595502 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (669)
- oracle (36)
- java (98)
- spring (48)
- UML (2)
- hibernate (10)
- tomcat (7)
- 高性能 (11)
- mysql (25)
- sql (19)
- web (42)
- 数据库设计 (4)
- Nio (6)
- Netty (8)
- Excel (3)
- File (4)
- AOP (1)
- Jetty (1)
- Log4J (4)
- 链表 (1)
- Spring Junit4 (3)
- Autowired Resource (0)
- Jackson (1)
- Javascript (58)
- Spring Cache (2)
- Spring - CXF (2)
- Spring Inject (2)
- 汉字拼音 (3)
- 代理模式 (3)
- Spring事务 (4)
- ActiveMQ (6)
- XML (3)
- Cglib (2)
- Activiti (15)
- 附件问题 (1)
- javaMail (1)
- Thread (19)
- 算法 (6)
- 正则表达式 (3)
- 国际化 (2)
- Json (3)
- EJB (3)
- Struts2 (1)
- Maven (7)
- Mybatis (7)
- Redis (8)
- DWR (1)
- Lucene (2)
- Linux (73)
- 杂谈 (2)
- CSS (13)
- Linux服务篇 (3)
- Kettle (9)
- android (81)
- protocol (2)
- EasyUI (6)
- nginx (2)
- zookeeper (6)
- Hadoop (41)
- cache (7)
- shiro (3)
- HBase (12)
- Hive (8)
- Spark (15)
- Scala (16)
- YARN (3)
- Kafka (5)
- Sqoop (2)
- Pig (3)
- Vue (6)
- sprint boot (19)
- dubbo (2)
- mongodb (2)
最新评论
数据库中有几十上百张表,那么哪些表的数据量比较大呢,总不能一个表一个表的去查询吧,在mysql中也有类似于oracle的数据字典表,只不过mysql没有oracle记录的那么多和详细,但也足够我们查询这些信息了。
在mysql的information_schema下有存储数据库基本信息的数据字典表,可以通过查询tables表来获得所需要的表相关信息。
那么我们查看一下talbes表结构信息,看看存储的具体信息
主要存储了表的信息如表使用的引擎,表的类型等信息。我们可以通过查询table_rows属性获得哪些表数据量比较大。
我们继续深入思考,这些存储的数据是否准确,是否真实的反应了表中数据量大小?
看到上面红色的字体了吧,information_schema下的表tables是内存表,数据库启动的时候,会读取分析各表中数据,然后填充tables表。如果某些表更新频繁,而来不及更新tables表的时候,tables中存储的数据就不一定准确了,这会影响到执行计划的分析,索引在执行计划的时候,可以analyze表,然后确保存储的信息准确。
转自:http://blog.csdn.net/aeolus_pu/article/details/7804771
在mysql的information_schema下有存储数据库基本信息的数据字典表,可以通过查询tables表来获得所需要的表相关信息。
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | |mysql | |report | | report_result | |test | +--------------------+ 5 rows in set (0.02 sec) mysql> use information_schema; Database changed mysql> show tables; +---------------------------------------+ |Tables_in_information_schema | +---------------------------------------+ |CHARACTER_SETS | |COLLATIONS | | COLLATION_CHARACTER_SET_APPLICABILITY | |COLUMNS | |COLUMN_PRIVILEGES | |KEY_COLUMN_USAGE | |PROFILING | |ROUTINES | |SCHEMATA | |SCHEMA_PRIVILEGES | |STATISTICS | |TABLES | |TABLE_CONSTRAINTS | |TABLE_PRIVILEGES | |TRIGGERS | |USER_PRIVILEGES | |VIEWS | +---------------------------------------+ 17 rows in set (0.00 sec)
那么我们查看一下talbes表结构信息,看看存储的具体信息
mysql> desc tables; +-----------------+--------------+------+-----+---------+-------+ | Field |Type | Null | Key | Default |Extra | +-----------------+--------------+------+-----+---------+-------+ | TABLE_CATALOG | varchar(512) | YES | | NULL | | | TABLE_SCHEMA | varchar(64) | NO | | | | | TABLE_NAME | varchar(64) | NO | | | | | TABLE_TYPE | varchar(64) | NO | | | | | ENGINE |varchar(64) | YES | |NULL | | | VERSION |bigint(21) | YES | |NULL | | | ROW_FORMAT | varchar(10) | YES | | NULL | | | TABLE_ROWS | bigint(21) | YES | | NULL | | | AVG_ROW_LENGTH | bigint(21) | YES | | NULL | | | DATA_LENGTH | bigint(21) | YES | | NULL | | | MAX_DATA_LENGTH | bigint(21) | YES | | NULL | | | INDEX_LENGTH | bigint(21) | YES | | NULL | | | DATA_FREE | bigint(21) |YES | | NULL | | | AUTO_INCREMENT | bigint(21) | YES | | NULL | | | CREATE_TIME | datetime |YES | | NULL | | | UPDATE_TIME | datetime |YES | | NULL | | | CHECK_TIME | datetime |YES | | NULL | | | TABLE_COLLATION | varchar(64) | YES | |NULL | | | CHECKSUM | bigint(21) |YES | | NULL | | | CREATE_OPTIONS | varchar(255) | YES | |NULL | | | TABLE_COMMENT | varchar(80) | NO | | | | +-----------------+--------------+------+-----+---------+-------+ 21 rows in set (0.00 sec)
主要存储了表的信息如表使用的引擎,表的类型等信息。我们可以通过查询table_rows属性获得哪些表数据量比较大。
mysql> select table_name,table_rows from tables order by table_rows desc limi 10; +---------------+------------+ | table_name |table_rows | +---------------+------------+ | task6 | 1558845 | | task | 1554399 | | task5 | 1539009 | | task3 | 1532169 | | task1 | 1531143 | | task2 | 1531143 | | task4 | 1521225 | | task7 | 980865 |
我们继续深入思考,这些存储的数据是否准确,是否真实的反应了表中数据量大小?
mysql> show create table tables \G; *************************** 1. row*************************** Table: TABLES Create Table: CREATE TEMPORARY TABLE`TABLES` ( `TABLE_CATALOG` varchar(512) default NULL, `TABLE_SCHEMA` varchar(64) NOT NULL default '', `TABLE_NAME` varchar(64) NOT NULL default '', `TABLE_TYPE` varchar(64) NOT NULL default '', `ENGINE` varchar(64) default NULL, `VERSION` bigint(21) default NULL, `ROW_FORMAT` varchar(10) default NULL, `TABLE_ROWS` bigint(21) default NULL, `AVG_ROW_LENGTH` bigint(21) default NULL, `DATA_LENGTH` bigint(21) default NULL, `MAX_DATA_LENGTH` bigint(21) default NULL, `INDEX_LENGTH` bigint(21) default NULL, `DATA_FREE` bigint(21) default NULL, `AUTO_INCREMENT` bigint(21) default NULL, `CREATE_TIME` datetime default NULL, `UPDATE_TIME` datetime default NULL, `CHECK_TIME` datetime default NULL, `TABLE_COLLATION` varchar(64) default NULL, `CHECKSUM` bigint(21) default NULL, `CREATE_OPTIONS` varchar(255) default NULL, `TABLE_COMMENT` varchar(80) NOT NULL default '' ) ENGINE=MEMORY DEFAULTCHARSET=utf8
看到上面红色的字体了吧,information_schema下的表tables是内存表,数据库启动的时候,会读取分析各表中数据,然后填充tables表。如果某些表更新频繁,而来不及更新tables表的时候,tables中存储的数据就不一定准确了,这会影响到执行计划的分析,索引在执行计划的时候,可以analyze表,然后确保存储的信息准确。
转自:http://blog.csdn.net/aeolus_pu/article/details/7804771
发表评论
文章已被作者锁定,不允许评论。
-
mysql 技术内幕学习
2018-10-22 12:42 606... -
mysql 全文索引(fulltext)学习
2018-10-15 11:09 548使用索引是数据库性能优化的必备技能之一。在MySQL数据库中, ... -
mysql cast和convert函数学习(将字符串转数字)
2018-08-03 11:12 1005MySQL 的CAST()和CONVERT()函数可用来获取一 ... -
mysql 外键锁机制
2014-12-09 10:25 1121在mysql的多个存储引擎中,innodb支持外键,但是由于外 ... -
mysql 常见函数总结
2014-11-06 19:41 731--获取当前的database se ... -
MySQL checksum了解
2014-11-05 19:51 506在主从复制中Checksum常常需要对某些重要的表进行一致性检 ... -
Mysql 常见命令总结
2014-11-04 20:01 3431.linux下启动mysql的命令: mysqladm ... -
MySql 数据库的创建和查看
2014-11-04 19:51 380使用SHOW语句找出在服务器上当前存在什么数据库 mys ... -
MySQL独立表空间VS共享表空间
2014-11-04 19:19 550在使用Innodb引擎时将要 ... -
mysql Multiversion Concurrency Control机制(mvcc)
2014-09-11 17:46 682在进行多事务 ... -
mysql 操作索引FORCE INDEX
2014-09-01 17:14 16881、创建索引 索引的创建可以在CREATE TABLE语句中 ... -
InnoDB Insert Buffer(插入缓冲)
2014-08-30 11:40 1129插入缓冲,并不是缓存的 ... -
mysql 存储过程例子
2014-08-28 11:36 540(1)循环遍历值 drop procedure if e ... -
MySQL if case语句使用总结
2014-08-26 19:47 563Mysql的if既可以作为表达式用,也可在存储过程中作为流程控 ... -
mysql 事务隔离级别
2014-08-25 12:00 666用户可以用SET TRANSACTION语句改变单个会话或者所 ... -
mysql cpu占100%调优案例
2014-08-23 21:44 499解决 MYSQL CPU 占用 100% 的经验总结 ... -
mysql cursor使用
2014-08-22 20:24 860一,什么是游标(cursor) 个人觉得就是一个cursor, ... -
mysql mysqldump导入导出
2014-08-22 16:32 1037我们来看几个常用用例: (1)导出整个数据库 mysqld ... -
mysql DATE_FORMAT() 函数
2014-08-22 16:23 457定义和用法 DATE_FORMAT() 函数用于以不同的格式显 ... -
MySQL性能调优 - Table_cache(table_open_cache)
2014-08-14 16:12 0table_cache是一个非常重 ...
相关推荐
在数据库管理中,了解MySQL数据量的大小是至关重要的,这有助于优化性能、规划存储空间以及进行容量规划。本文将详细讲解如何统计MySQL数据库的数据量大小,并涉及CONCAT函数的解读,以及对information_schema和...
mysql数据库大数据量导入导出多种方法,该文档详述SELECT * INTO和mysqldump导出方法。导入方法中包括导入sql,txt文件和load data三种方法
在选择适合的删除方法时,要考虑数据量、是否需要保留自增ID、是否存在外键约束以及性能需求等因素。对于大型表和频繁的清空操作,`TRUNCATE TABLE` 通常是最佳选择,因为它速度快且资源消耗低。然而,在需要保留...
不同的数据库管理系统,如MySQL、Oracle和DM(达梦数据库),都提供了不同的方法来统计表数据量和条数。本文将对这些方法进行详细的介绍和分析。 一、MySQL统计表数据量和条数 在MySQL中,可以使用信息_schema...
在实际的任何一个系统中,查询都是必不可少的一个功能,而查询设计的好坏又影响到系统的响应时间和性能这两个关键指标,尤其是当数据量变得越来越大时,于是如何处理大数据量的查询成了每个系统架构设计时都必须面对...
MySQL是世界上最受欢迎的关系型数据库管理系统之一,尤其在处理大数据量时表现出色。在这个主题中,我们关注的是如何利用MySQL进行大数据量的测试和优化。提供的压缩包文件包含了一系列的SQL脚本和数据备份,用于...
mysql200万+条大数据量测试sql文件,可以用于测试服务器数据库性能,学习sql性能优化和调优。资源是.sql文件压缩后上传。用navicat导入实测用时几分钟时间,数据量200W+条。快速获取百万级真实测试数据。
2. **查看表结构**:使用`DESCRIBE`或`DESC`命令查看表的结构,确认当前的字段列表。 3. **添加字段**:通过`ALTER TABLE`命令添加新的字段,例如`age`(年龄),数据类型为INT。命令如下: ```sql ALTER TABLE ...
总的来说,这个Shell脚本是数据库管理员和运维人员的一个实用工具,它简化了MySQL数据迁移的过程,提高了工作效率,同时保持了数据的完整性。正确理解和使用此类脚本,对于管理和维护复杂数据库环境至关重要。
本文将深入探讨MySQL到Oracle的数据同步过程,以及如何在同步过程中修改MySQL数据表的标识。 首先,我们要理解MySQL和Oracle是两种不同的关系型数据库管理系统(RDBMS)。MySQL以其开源、轻量级、高效的特点被广泛...
标题中的“利用Flume将MySQL表数据准实时抽取到HDFS、MySQL、Kafka”是一项数据集成任务,涉及Apache Flume、MySQL数据库、Hadoop Distributed File System (HDFS) 和Apache Kafka这四个关键技术。Flume是Apache的一...
在大数据量下,索引是提升查询速度的关键。为经常用于查询的字段建立索引,例如,如果常常按用户ID或订单时间进行筛选,那么user_id和order_time字段就应创建索引。然而,过多的索引会影响写操作性能,因此需平衡...
- 分区:对于大数据量的表,可采用分区技术,将数据分散到多个物理存储上,加快查询速度。 - 编码:选择合适的字符编码,如UTF-8或UTF-8MB4,平衡存储空间和字符支持。 4. SQL语句: - SELECT查询:学习如何编写...
在C#中与MySQL数据库进行大规模数据交互时,性能优化是关键,特别是在处理千万级别的数据。本文将探讨如何高效地读取和写入大量数据,主要分为三个步骤:解决读取问题、数据处理和数据插入。 ### 第一步:解决读取...
标题中的“中国省市区城市列表mysql数据表”指的是一个包含了中国所有省份、城市、区县的数据表,专门设计用于MySQL数据库系统。这个数据表能够帮助用户快速构建与地理位置相关的应用程序,比如地图服务、物流配送...
脚本通过`mysql_connect`连接到数据库,`mysql_select_db`选择需要操作的数据库,`mysql_query`执行SQL查询获取所有表的数据,然后将结果逐行写入文本文件。为了处理可能存在的换行符问题,使用`str_replace`函数...
在MySQL中,面对百万级数据量的分页查询,如何高效地进行操作并优化查询性能是数据库管理员和开发人员必须关注的问题。以下是一些常用的方法和优化建议: 1. **直接使用LIMIT语句**:这是最基础的分页查询方式,如`...
缺点:有优化瓶颈,数据量过亿就玩完了。 方案二:升级数据库类型,换一种100%兼容mysql的数据库。优点:不影响现有业务,源程序不需要修改代码,你几乎不需要做任何操作就能提升数据库性能,缺点:多花钱 方案三...
总之,MySQL数据表导出到XML文件是一个涉及数据库连接、数据查询、XML生成和数据可视化的综合过程。"XMLmaker"可能是一个集成了这些功能的工具,帮助用户方便地管理和查看数据库数据。在实际操作中,理解这些基本...