2011-07-07 4 views
0

私はmysql 5.5 myisam上でほぼ5 GBのデータベースを持っています。私のosアーキテクチャは、fedora 64ビットです。今私は大規模なデータクエリを保持しているテーブルから30秒以上遅い単一のクエリを行う場合。どのように私は遅いクエリを減らすことができます教えてください?私は2GBのメモリと6GBのスワップを持っています。 [更新] 遅いログアウトプットはここにどのように大きなデータベースのmysqlの低速クエリ時間を短縮する

# Query_time: 19.367274 Lock_time: 0.000109 Rows_sent: 54 Rows_examined: 4263723 
SET timestamp=1310052008; 
SELECT timestamp FROM nse_data WHERE symbol='NIFTY'AND series='IN' AND timestamp BETWEEN '2011-04-07' AND '2011-07-07' ORDER BY timestamp; 

おかげ

+2

データベーススキーマと現在のクエリ –

+2

を見て、EXPLAIN <現在のクエリ> – wonk0

+0

データベースの出力はどのようなシステムのためですか? –

答えて

1

しようとする最初の事あなたが定期的に/オーダー検索の列のindexesを追加することです。

+0

ありがとう@ Briguy37 – DAKSH

+0

@DAKSH喜んで私は助けることができました:) – Briguy37

2

すべてのクエリは非常に異なっているが、一見この特定のクエリはこのインデックスを最速で実行できるようです:私はについては何も知らないので、もちろん

ALTER TABLE `nse_data` ADD INDEX `index_nse_data` (`timestamp` ASC, `symbol` ASC, `series` ASC); 

が、それだけで推測ですあなたのデータ:)

+0

ありがとう@Karolis私はすでにそれをしました:) – DAKSH

関連する問題