2009-06-26 32 views
1

私はデータベースに7kプラスレコードを持つテーブルを持っています。私は、そのテーブル内の特定のIDを検索するクエリを持っている。クエリを最適化する

クエリがその7K +データ上のすべての検索を行いますthis->

select id,date_time from table order by date_time DESC; 

このクエリのようなものです(IDは自動インクリメントです)。 ......私はこの検索条件を最適化して500または1000件のレコードのみを検索するようにはできません。これらのレコードは日々増加し、クエリは重く重くなります。助言がありますか?????

+0

私の解決策を得ました:-D あなたの提案をありがとう!!!!! – developer

答えて

2

イムはここで何かが欠けている場合、私は知らないが、何が悪いの:

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

とidを使用すると、IDの数だけ...

検索し、コースIDのされています?プライマリインデックスである必要があります。

1

idがユニーク(おそらくプライマリキー)の場合は、date_timeで検索する必要はなく、最大で1行しか返ってこないことが保証されています。

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

idでない場合ユニークな、そしてあなたはまだ同じクエリを使用しますが、クエリがあまりにも遅くなる場合には、データベースの外部インデックス、他のcontraints、および/またはキャッシュを見てする必要があります。

+0

(IDは自動インクリメントされます) –