优化查询

时间:2009-06-26 07:44:03

标签: sql mysql query-optimization

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

查询就像这样 - >

select id,date_time from table order by date_time DESC;

此查询将对该7k +数据执行所有搜索.......无论如何我无法优化此查询,以便仅在500或1000条记录上进行搜索....记录将逐日增加,我的查询将变得越来越重。任何建议?????

2 个答案:

答案 0 :(得分:2)

我不知道我是否在这里遗漏了什么,但是错误的是:

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

和?id是您要搜索的ID的编号...

当然,id应该是主要索引。

答案 1 :(得分:1)

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

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

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