社区
其他数据库
帖子详情
一个简单的count(*)为何如此慢?
faucet
2003-10-16 03:05:33
firebird 1.0 记录约200万条,就一个表 三个大字段 blob
库文件大小 2.6G
一个select count(*) from tablename;
执行要几分种以上,
select max(field1 ) 也是这样
field1是主键 integer类型
同样结构的mysql 0.几秒都不要, why???????
...全文
110
7
打赏
收藏
一个简单的count(*)为何如此慢?
firebird 1.0 记录约200万条,就一个表 三个大字段 blob 库文件大小 2.6G 一个select count(*) from tablename; 执行要几分种以上, select max(field1 ) 也是这样 field1是主键 integer类型 同样结构的mysql 0.几秒都不要, why???????
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
faucet
2003-10-18
打赏
举报
回复
还有关于你说的 count(*)为全表扫描,max firebird不用索引是哪里的文档提到的
能提示一下么?谢了先
faucet
2003-10-18
打赏
举报
回复
我的意思就是象count统计记录总数,算一下max是很常用的功能呀,
是否只能用触发器来解决了呢?
CuteBit
2003-10-18
打赏
举报
回复
hi,faucet
不要指望文档会告诉你一切.很多东西需要你动手了解的,比如在 isql 或者其他工具中打开 plan 选项,就可以看到查询计划(类似 mssql 的查询分析).
我并不是说 count/max 等只能用触发器解决.我的建议是"如果你的设计方法由于数据量原因大大的影响效率,你可以考虑使用触发器记录下相关的统计信息.".
你遇到的是数据库大数据量的问题,有时你需要用非常规的设计提高效率,而不是单纯的依靠数据库系统的帮助.
faucet
2003-10-17
打赏
举报
回复
hi, cutebit
那在fb中如何做 count(field) 这样的应用呢?
max呢?
CuteBit
2003-10-17
打赏
举报
回复
hi,faucet
# select count(*) from tablename
这样的查询对 ib/fb(或oracle,好像 mssql 也是这样) 来说,需要全表扫描.对 200万 的记录过一遍耗几分钟不足为奇了.对某些数据库来说(informix,我想 mysql也是这样的)他们在系统内部储存有表的记录数,所以在这个上面要快许多.至于为什么不采用这样的方式,他们有他们的考虑.
# select max(field1)from tablename
对于 ib/fb 来说即使字段上有可用的索引(除非按到序排列),索引也不会被用到(我目前不清楚原理),但如果是 select min(field1) from talbename 会快许多,因为这时索引被用上了.
CuteBit
2003-10-17
打赏
举报
回复
faucet,不明白你的意思.
如果你的设计方法由于数据量原因大大的影响效率,你可以考虑使用触发器记录下相关的统计信息.
erickleung
2003-10-16
打赏
举报
回复
可有试过用firebird 1.5作比较吗?
firebird 1.0仍是 interbase 6.0的源码, 许多基本的运作还有不足之处. firebird 1.5是在这方法下了不少功夫呢.
若然 field1有索引, select max(field1),.. 是否一样吗?
你必须知道的495个C语言问题
1.24 我在
一个
文件中定义了
一个
extern数组,然后在另
一个
文件中使用,为什么sizeof取不到数组的大小? 声明问题 1.25 函数只定义了一次,调用了一次,但编译器提示非法重声明了。 *1.26 main的正确定义是什么...
《你必须知道的495个C语言问题》
1.24 我在
一个
文件中定义了
一个
extern数组,然后在另
一个
文件中使用,为什么sizeof取不到数组的大小? 13 声明问题 14 1.25 函数只定义了一次,调用了一次,但编译器提示非法重声明了。 14 *1.26 main的正确...
基于Flink构建亿级用户全端数据统计分析系统
在这个科技高速发展的时代,经历了PC时代几乎人手一台电脑,随之衍生出站长这个概念;移动互联网时代几乎人手一部智能手机,智能手机一般都会安装很多应用,目前应用呈爆发式的增长;随着产业的不断深入发展,小程序的发展也日益壮大,应用涵盖各个领域;如今
一个
公司就可能有多个软件应用,对于软件开发商来说,急需一套分析系统帮助软件运营,如果单独开发
一个
分析系统去针对
一个
软件进行分析的话,成本会非常的大,这个成本包含开发成本以及以后的维护成本。为了解决了上述的问题,我们开发出了一套云产品:亿级动态数据统计分析系统,本系统可以支持所有的终端 (Web端、移动端、小程序端等 )数据统计,只要
简单
的使用sdk就可以接入我们的系统,软件开发商可以很轻松的对软件使用的情况进行监控,及时辅助公司对该软件的运营。该产品历经2年的实践,商业价值极高。本套案例是完全基于真实的产品进行开发和讲解的,同时对架构进行全面的升级,采用了全新的 Flink 架构+Node.js+Vue.js等,完全符合目前企业级的使用标准。对于本套课程在企业级应用的问题,可以提供全面的指导。Flink作为第四代大数据计算引擎,越来越多的企业在往Flink转换。Flink在功能性、容错性、性能方面都远远超过其他计算框架,兼顾高吞吐和低延时。Flink能够基于同
一个
Flink运行时,提供支持流处理和批处理两种类型应用的功能。也就是说同时支持流处理和批处理。Flink将流处理和批处理统一起来,也就是说作为流处理看待时输入数据流是无界的;批处理被作为一种特殊的流处理,只是它的输入数据流被定义为有界的。Flink技术特点1. 流处理特性支持高吞吐、低延迟、高性能的流处理支持带有事件时间的窗口(Window)操作支持有状态计算的Exactly-once语义支持高度灵活的窗口(Window)操作,支持基于time、
count
、session,以及data-driven的窗口操作支持具有Backpressure功能的持续流模型支持基于轻量级分布式快照(Snapshot)实现的容错
一个
运行时同时支持Batch on Streaming处理和Streaming处理Flink在JVM内部实现了自己的内存管理支持迭代计算支持程序自动优化:避免特定情况下Shuffle、排序等昂贵操作,中间结果有必要进行缓存2. API支持对Streaming数据类应用,提供DataStream API对批处理类应用,提供DataSet API(支持Java/Scala)3. Libraries支持支持机器学习(FlinkML)支持图分析(Gelly)支持关系数据处理(Table)支持复杂事件处理(CEP)4. 整合支持支持Flink on YARN支持HDFS支持来自Kafka的输入数据支持Apache HBase支持Hadoop程序支持Tachyon支持ElasticSearch支持RabbitMQ支持Apache Storm支持S3支持XtreemFS课程所涵盖的知识点包括:Flink、 Node.js、 Vue.js、 Kafka、Flume、Spring、SpringMVC、Dubbo、HDFS、Hbase、Highcharts等等 企业一线架构师讲授,代码在老师指导下可以复用,提供企业解决方案。 版权归作者所有,盗版将进行法律维权。
Cont()与Where().
Count
()有时性能差别如此之大!
今天在修改后台用户公司管理列表时,发现列表加载超
慢
的bug!好几十秒啊!数据是相对其他的列表是稍微多点,不过也就4000多条,之前是好的,为啥这么
慢
呢?
select
count
(0)或者select
count
(*)等非常
慢
的优化(一)
SQL 如下,仅仅就是统计api_runtime_log这张表的行数,一条
简单
的不能再
简单
的 SQL: select
count
(*) from api_runtime_log; 我们先去运行一下这条 SQL,可以看到确实运行很
慢
,要 40 多秒左右,确...
其他数据库
2,209
社区成员
9,519
社区内容
发帖
与我相关
我的任务
其他数据库
其他数据库开发 其他数据库
复制链接
扫一扫
分享
社区描述
其他数据库开发 其他数据库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章