一、使用 for
循环处理集合
0.目前数据量有1千万了还在增加
1.站点数量不确定,至少上万个
2.title中,同样的标题可能会产生几个不同嘚host和url因为文章抄袭的还是很多的
现在遇到查询显示的问题
按列数量排序的语句很慢,例如按host排序
如果再加上条件的话查询就更慢了
这個语句已经很优化了 建议在host字段加索引
count(*)数据库也会自动选择主键索引去统计的。
想偠再快的话,可以考虑用视图索引,统计都是预先计算好存放着的,直接调用就行.
你的字段值那么长还要按其汇总肯定慢了,按条件查询出来放到临时表里再统计试试
我现在把host和url字段都建了索引 关于索引有什么需要注意的吗
可以建多个索引视图,针对不同的组合查询情况.
而且上面還跑着其他程序
求建议 这个查询速度根本没法活
如果仅仅是这个一查询的话可以每5分钟跑一个job,将结果存在一个表内然后从该表读数據。
数据本身就是时时变化的5分钟的差异看你能不能容忍了。
但如果你还有一些like条件的话就基本无解。
再看有没其他建议明天结贴
主要是硬件太差了,就像一个BYD F3怎么可能暴走?
这个数据量,这个设计硬件好也有顶不住地时候。
1、至少要增加一个统计表以你现在说到的需求,可以只有 host,tj统计时间三个字段。
2、在数据插入过程插入或者修改这个统计表。
3、如果觉得2有问题增加膈定是作业定时统计这个表的数据,尽量是增量统计的
4、这步与统计基本无关,你的原来的表在数据量足够大的情况下,应该要考虑分表了方法不少,比如历史表+当前表或者年表、月表等方式。
或者每小时统计一次group by放一统计表,然后從些统计表中查询
继续期待其他建议