NutzCN Logo
问答 请教一个mysql百万数据查询问题
发布于 1838天前 作者 码农 1439 次浏览 复制 上一个帖子 下一个帖子
标签:

数据库是第三方的,没有索引,也无法建立索引,怎么查询到想要的数据,数据表内容大致如下:
根据id查询出指定数据,并按照date进行排序desc,
select date,id,index,speed,in from pred_short where rid ='1524E09H2D01525809H2Q00' ORDER BY date limit 0,30;
按照这个sql查出来太慢了,怎么优化?

date                             id                                               index     speend          in
20191030000500	1524E09H2D01525809H2Q00	1.0	30.022034	0.0
20191030000500	1524E09H2D01525809H2Q00	1.0	29.012735	0.0
20191030000500	1524E09H2D01525809H2Q00	1.0	29.388569	0.0
20191030000500	1524E09H2D01525809H2Q00	1.0	29.774498	0.0
20191030001000	1524E09H2D01525809H2Q00	1.0	29.793499	0.0
20191030001000	1524E09H2D01525809H2Q00	1.0	29.114473	0.0
20191030001000	1524E09H2D01525809H2Q00	1.0	29.543581	0.0
20191030001000	1524E09H2D01525809H2Q00	1.0	29.859444	0.0
20191030001500	1524E09H2D01525809H2Q00	1.0	29.953201	0.0
20191030001500	1524E09H2D01525809H2Q00	1.0	29.799078	0.0
5 回复

把数据读到本地数据库,哈哈哈

哈哈,就是要把最新数据读到本地数据库,所以要排序,不排序的话还是挺快的,兽总有什么好的建议吗?第三方这个表5分钟就会更新一次

编程上的办法?毫无办法

1。 一次全拉出来。 小于1K 条。
2。 insert temp select * from rid = XXX
3. select * from xx where rid = xxx and date <= xxxxxx (上次的时间)

没索引, 做date判断的时候依然全表扫描

添加回复
请先登陆
回到顶部