2009-06-26 219 views
1

我有一個數據庫中有7k加記錄的表。我有一個查詢,搜索該表中的特定的ID(ID是自動遞增)優化查詢

查詢就像是這個 - >

select id,date_time from table order by date_time DESC; 

這個查詢會做對7K +數據的所有搜索。 ......並不存在,我可以優化這個查詢,以便僅在500或1000條記錄上進行搜索....因爲這些記錄將日益增加,我的查詢將變得越來越重。有什麼建議麼?????

+0

我得到了我的解決方案:-D 謝謝你的建議!!!!! – developer 2009-06-26 09:08:37

回答

2

我不知道我在想念的東西在這裏,但有什麼錯?

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

和id是你正在尋找...

當然ID的ID的數量應該是主要指標。

1

如果id是唯一的(可能是您的主鍵),那麼您不需要通過date_time進行搜索,並且您保證只返回最多一行。

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

如果id唯一的,那麼你仍然使用相同的查詢,但需要看指標,其他的約束上,和/或高速緩存數據庫以外,如果查詢變得太慢。

+0

(id是自動遞增的) – 2009-06-26 09:10:59