1

我在数据库中有一个包含 7k 多条记录的表。我有一个在该表中搜索特定 id 的查询。(id 是自动递增的)

查询是这样的->

select id,date_time from table order by date_time DESC;

此查询将对 7k + 数据进行所有搜索.......无论如何我都可以优化此查询,以便仅对 500 或 1000 条记录进行搜索......因为这些记录会增加一天一天,我的查询会越来越重。有什么建议吗??????

4

2 回答 2

2

我不知道我是否在这里遗漏了什么,但有什么问题:

select id,date_time from table where id=?id order by date_time DESC;

并且 ?id 是您正在搜索的 id 的编号...

当然 id 应该是主索引。

于 2009-06-26T07:49:50.887 回答
1

如果id是唯一的(可能是您的主键),那么您不需要搜索,date_time并且保证最多只能返回一行。

SELECT id, date_time FROM table WHERE id=<value>;

如果id不是唯一的,那么您仍然使用相同的查询,但如果查询变得太慢,则需要查看索引、其他约束和/或数据库外部的缓存。

于 2009-06-26T07:59:23.050 回答