http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 5583|回复: 3

[其他] 讨论如何快速获取一个表的行数

[复制链接]
发表于 2015-5-5 18:36:09 | 显示全部楼层 |阅读模式
10金钱
我现在想快速查询一个表的行数,觉得有两种方法,一种直接从系统表里面拿,一种是用count方法统计,sql代码如下:
-- 系统里面拿
use information_schema;
select TABLE_ROWS from tables
where TABLE_SCHEMA = 'mytest' and table_name='t_email' order by table_rows desc;

-- 自己的表里面统计
USE mytest;
SELECT count(*) from t_email;

发现两个得到的结果不一致,但近似相等。有没有人遇到这种问题过?求帮忙解决。(对于数据量大的时候就会出现数据不一致。)



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2015-5-5 20:48:15 | 显示全部楼层
SELECT count(*) from t_email;

上面获取的不是时时的。可以说是不准的,只有这个是准的。

回复

使用道具 举报

发表于 2015-5-5 20:49:05 | 显示全部楼层
你有多大的数据量,即便是你有10亿行以上的记录使用
SELECT count(1) from t_email; 也是很快的。
回复

使用道具 举报

 楼主| 发表于 2015-5-6 09:46:40 | 显示全部楼层
8百万多条的样子。数据库查出来的时间要耗时6秒钟左右了。创建以ID字段为索引速度为2秒左右:[SQL] SELECT count(*)  from t_email;
受影响的行: 0
时间: 2.506ms

[SQL]

SELECT count(1)  from t_email;
受影响的行: 0
时间: 2.739ms

怎么发现count(1)比count(*)的耗时还长写呢?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-11-24 06:33

© 2014-2021

快速回复 返回顶部 返回列表