navicat查看mysql数据表记录数不断变化

在使用navicat进行数据库管理的时候,在查看表对象的时候会发现,每次刷新,数据表的记录数不断变化,尤其是大表。

对于100万的数据经常会显示九十几万,当然通过count(*)出来的数据是正确的。

非常疑惑,查了一下资料,原来和存储引擎有关。官方说明:

The number of rows. Some storage engines, such as MyISAM, store the exact count. For other storage engines, such as InnoDB, this value is an approximation, and may vary from the actual value by as much as 40 to 50%. In such cases, use SELECT COUNT(*) to obtain an accurate count.在myisam这种不支持事务的引擎中,这个值是精确的,在innodb这种支持事务的引擎中,是估算的。https://dev.mysql.com/doc/refman/5.1/en/show-table-status.html
时间: 2024-10-13 23:03:21

navicat查看mysql数据表记录数不断变化的相关文章

Mysql 数据表记录操作

1 增加记录: insert [into] tab_name (field1,field2....) values (values1,values2....) , (values1,values2....), ... : insert tab_name set field=value, field=value,..... : 2 修改记录 update tab_name set field=value where 子句 3 删除表记录: delete from tab_name where 子句

查看mysql 数据表的真实大小空间情况

select count(*) from t1; +----------+ | count(*) | +----------+ |        5 | +----------+ SELECT table_name, data_length/1024/1024 AS 'data_length(MB)', index_length/1024/1024 AS 'index_length(MB)', (data_length + index_length)/1024/1024 AS 'total(MB

navicat如何导出mysql数据表结构

我们在创建数据库时会对字段进行设置,比如类型.长度等,如果字段多的话一个个设置非常麻烦,可以从其他地方已有的表导入数据表结构,怎么操作呢?我们拿navicat导出mysql数据表结构为例: 1.点击“工具”–>数据传输. 2.在弹出的窗口里左边可以选择需要导出的表,右边选择连接或文件(我要导出sql文件,所以我选的是文件)选择导出的位置. 3.如果只是想导出表结构而不需要表的数据,那么点击“高级”–>把“插入记录”前的勾去掉.如果需要导出数据,那么默认打勾就可以, 4.点击开始,直到进度条走到

随机获取Mysql数据表的一条或多条记录

随机获得Mysql数据表的一条或多条记录有很多方法,下面我就以users(userId,userName,password......)表(有一百多万条记录)为例,对比讲解下几个方法效率问题: select * from users order by rand() LIMIT 1 执行该sql语句,老半天没有反应,最后被迫手动停止执行,怎个伤人了得啊!后来我查了一下MYSQL手册,里面针对RAND()的提示大概意思就是,在 ORDER BY从句里面不能使用RAND()函数,因为这样会导致数据列被

MySQL数据表的创建、查看、插入

数据表:数据表(或称表)是数据库最重要的组成部分之一,是其他对象的基础. 1.首先我们打开一个数据库(这里我打开的是新创建的一个aaa数据库). 打开数据库:use + 数据库名; 2.开始创建一个表,表名定为tb1. 行称之为记录,列称之为字段. 创建一个为名字.年龄.工资的表 VARCHAR 为字符类型 20 为数量限制20个字符 age 为整型 UNSIGNED 为不需要负数. FLOAT(8,2) 为整数八位数,小数点后面保留两位.00000000.00 查看(数据库以存在): SHOW

MyBatis 用户表记录数查询

搭建MyBatis开发环境,实现用户表记录数查询 1.在MyEclipse中创建工程,导入MyBatis的jar包 2.创建MyBatis配置文件mybatis-config.xml配置数据库信息 mybatis-config.xml文件 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0

用Myisamchk让MySQL数据表更健康

用Myisamchk让MySQL数据表更健康 2011-03-15 09:15 水太深 ITPUB 字号:T | T 为了让MySQL数据库中的数据表“更健康”,就需要对其进行定期体检.在这里笔者推荐使用Myisamchk工具来对数据表进行不定期的检查.同时笔者给出了一些相关的注意事项以及使用技巧. AD:51CTO 网+首届APP创新评选大赛火热启动——超百万资源等你拿! 在MySQL数据库中,数据表数以百计,数据库管理员不可能有这么多的时间和精力去依次检查表的有效性,所以他们急需要一种工具,

MySQL数据表碎片整理

在MySQL中,我们经常会使用VARCHAR.TEXT.BLOB等可变长度的文本数据类型.不过,当我们使用这些数据类型之后,我们就不得不做一些额外的工作--MySQL数据表碎片整理. 那么,为什么在使用这些数据类型之后,我们就要对MySQL定期进行碎片整理呢? 现在,我们先来看一个具体的例子.在这里,我们使用如下SQL语句在MySQL自带的TEST数据库中创建名为DEMO的数据表并插入5条测试数据. --创建DEMO表  id int unsigned,  body text  ) engine

mysql数据表增删改查

http://www.runoob.com/mysql/mysql-tutorial.html 一.MySQL 创建数据表 创建MySQL数据表需要以下信息: 表名 表字段名 定义每个表字段 语法 以下为创建MySQL数据表的SQL通用语法: CREATE TABLE table_name (column_name column_type); 以下例子中我们将在 RUNOOB 数据库中创建数据表runoob_tbl: CREATE TABLE IF NOT EXISTS `runoob_tbl`