首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MySQL -尽管有索引,但具有多种条件的慢速查询

MySQL -尽管有索引,但具有多种条件的慢速查询
EN

Stack Overflow用户
提问于 2017-07-29 15:18:07
回答 1查看 391关注 0票数 0

我有一张有股票价格的桌子。模式如下所示:

在表“data_1d”中,有一个用于ticker_id和时间戳的唯一索引ticker_timestamp。以及timestamp_id的主要索引。

'data_1d‘中有6.3M行。

此查询采用4+ secs:

代码语言:javascript
复制
select * from data_1d where timestamp_id=1387 and open_close>20

解释:

如果我搜索一系列时间戳的话就会有20到30秒。

如果我只搜索一个标准,时间戳或open_close,它需要0.1-0.6秒。

例如:

代码语言:javascript
复制
select * from data_1d where timestamp_id=1387

代码语言:javascript
复制
select * from data_1d where and open_close>20

我能做些什么来提高这里的表现呢?

谢谢。

编辑:我没有使用语句来创建表,但是从模式中应该可以理解它们。但这些是他们使用的钥匙

代码标记主键: id

timestamps_1d主键: id唯一索引:时间戳

data_1d ticker_id - references tickers.id timestamp_id - references timestamps_1d.id unique索引(或2 cols,ticker_id和timestamp_id):ticker_timestamps

EN

回答 1

Stack Overflow用户

发布于 2017-08-13 21:19:50

不要“正常化”连续值,如时间戳、浮点数、日期等。

“如果我搜索一个时间戳范围的话是20到30秒。”--给我们看看这个查询。因此,为了帮助您创建写模式和索引,让我们看看所有重要查询的示例。

“唯一指数:时间戳”

至少有一个不适合DECIMAL(7,2)的代码: NYSE:BRKA。INT不足以满足偶尔的音量。

select * from data_1d where and open_close>20有语法错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45390857

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档