2012-03-13 5 views
1

動作が異常な?最初のクエリは、私はテーブルの数で同じクエリ(レコードの異なるなしを含む)を走った

最初のクエリを除いて、2番目、3番目、および4番目のクエリの平均を計算しました。

たとえば、1,000,000レコードのテーブルでは、最初の処理には4.8410秒、2回目の処理には0.8940秒しかかかりません。なぜこうなった?

enter image description here

P.S.私はphpMyAdminツールを使用します。

答えて

2

DBMSは本当にスマートなアプリケーションであり、実行を最適化するために複数のカタログを管理しています。クエリが実行されると、使用されるDBMSに応じてデータベース内に多くのエントリが生成されます。これらのカタログはさらに最適化され、実際に頻繁に使用されるクエリを最適化するためのインデックスを自動的に生成します。また、実行計画を最適化するためにクエリ実行の計画を分析するクエリオプティマイザと呼ばれるものがあります。

特定のケースでは、クエリと結果のキャッシングを参照する必要があります。次の記事では、mysqlがネイティブにクエリ処理を最適化する方法を理解するのに役立ちます。ここで

http://dev.mysql.com/doc/refman/5.5/en/query-cache.html

http://www.cyberciti.biz/tips/enable-the-query-cache-in-mysql-to-improve-performance.html

オラクル、MySQLとPostgresの間の比較(ない新品ですが、あなたに大規模なデータベース上で複雑なクエリを処理する別の方法を持っているか異なるDBMSの基本的なアイデアを与えるだろう)

http://dcdbappl1.cern.ch:8080/dcdb/archive/ttraczyk/db_compare/db_compare.html#Query+optimization

乾杯、

+0

Tハンクス、あなたが投稿したリンクを見ていきます。私はそれがクエリキャッシュと関係していることを認識し始めました – fn27

関連する問題