MySQL中的快速页面检索,索引使用情况?
我想加速MySQL查询,它基本上按照下面的模式检索一页数据MySQL中的快速页面检索,索引使用情况?,mysql,performance,indexing,paging,Mysql,Performance,Indexing,Paging,我想加速MySQL查询,它基本上按照下面的模式检索一页数据 select my_field_A, my_field_B where time_id >= UNIX_TIMESTAMP('1901-01-01 00:00:00') AND time_id < UNIX_TIMESTAMP('2009-01-16 00:00:00') 选择 我的领域, 我的领域 哪里 时间id>=UNIX时间戳('1901-01-01 00:00:00'),以及 时间id=UNIX时间戳(
select
my_field_A,
my_field_B
where
time_id >= UNIX_TIMESTAMP('1901-01-01 00:00:00') AND
time_id < UNIX_TIMESTAMP('2009-01-16 00:00:00')
选择
我的领域,
我的领域
哪里
时间id>=UNIX时间戳('1901-01-01 00:00:00'),以及
时间id
字段
time\u id
是一个MySQL索引,但是,查询的行为就像在每次查询时读取整个数据库一样(检索几行已经相当慢)。我不是MySQL方面的专家。有人能猜出我做错了什么吗?因为可能有很多时间都在这些标准之下,MySQL
可能认为全表扫描更好
尝试强制索引:
SELECT
my_field_A,
my_field_B
FROM mytable FORCE INDEX (index_name_on_time_id)
WHERE
time_id >= UNIX_TIMESTAMP('1901-01-01 00:00:00') AND
time_id < UNIX_TIMESTAMP('2009-01-16 00:00:00')
选择
我的领域,
我的领域
从mytable强制索引(索引名称在时间id上)
哪里
时间id>=UNIX时间戳('1901-01-01 00:00:00'),以及
时间id
由于可能有很多时间id
属于这些标准,MySQL
可能认为全表扫描更好
尝试强制索引:
SELECT
my_field_A,
my_field_B
FROM mytable FORCE INDEX (index_name_on_time_id)
WHERE
time_id >= UNIX_TIMESTAMP('1901-01-01 00:00:00') AND
time_id < UNIX_TIMESTAMP('2009-01-16 00:00:00')
选择
我的领域,
我的领域
从mytable强制索引(索引名称在时间id上)
哪里
时间id>=UNIX时间戳('1901-01-01 00:00:00'),以及
时间id
确保您在时间id上有一个索引(B-树),这对于范围查询应该是有效的。还要确保time_id采用适当的时间格式
如果您真的想了解mysql正在做什么,您可以在查询前面添加关键字“explain”,并在mysql客户端中运行它。这将显示一些关于mysql正在做什么以及执行何种扫描的信息
确保您在时间id上有一个索引(B-树),这对于范围查询应该是有效的。还要确保time_id采用适当的时间格式 如果您真的想了解mysql正在做什么,您可以在查询前面添加关键字“explain”,并在mysql客户端中运行它。这将显示一些关于mysql正在做什么以及执行何种扫描的信息
您需要较低的量程吗?有1901年以前的作品吗? 时间id列是如何生成的?如果在每一个新条目被添加到DB中,TimeSyid总是较大的,那么您可能需要考虑找到最接近于No.01-16的条目ID,然后通过ID 进行选择。
select my_field_A, my_field_B
FROM
mytable
WHERE
id <= ?
选择我的字段A、我的字段B
从…起
空白表
哪里
id您需要较低的范围吗?有1901年以前的作品吗?
时间id列是如何生成的?如果在每一个新条目被添加到DB中,TimeSyid总是较大的,那么您可能需要考虑找到最接近于No.01-16的条目ID,然后通过ID 进行选择。
select my_field_A, my_field_B
FROM
mytable
WHERE
id <= ?
选择我的字段A、我的字段B
从…起
空白表
哪里
id“time\u id应该是一个MySQL索引”,但你确定它是吗显示[表]中的索引““time_id应该是MySQL索引”,但您确定它是吗?”显示[表]中的索引'