0

最近、過去数日から異常に長い時間がかかるクエリに出くわしました。先月、MySQL データベースのサーバー移行を行いましたが、以前のサーバーでは問題は発生しませんでした。古いサーバーの MySQL バージョンは 5.1.34 で、現在のサーバーでは 5.1.58 です (それがこの問題と関係があるかどうかはわかりません)。

クエリは次のとおりです。

 SELECT table_name,
       partition_name,
       subpartition_name,
       partition_method,
       subpartition_method,
       partition_expression,
       subpartition_expression,
       partition_description,
       partition_comment,
       nodegroup,
       tablespace_name
FROM   information_schema.partitions
WHERE  table_schema LIKE 'wialogdb'
       AND NOT Isnull(partition_name)
       AND table_name LIKE 'freemail'
ORDER  BY table_name,
          partition_name,
          partition_ordinal_position,
          subpartition_ordinal_position;  

これは、テーブル構造に関する詳細を取得するために Navicat によって起動される information_schema.PARTITIONS に対するクエリであり、再現が非常に困難です。

テーブルを編集するとき、Navicat は情報スキーマからテーブルに関するすべての詳細を収集する必要があります (例: エンジンの lsit、テーブル列、分析を参照してください Show Create テーブルなど)。 WHERE 条件が「正しくない」 WHERE TABLE_SCHEMA LIKE 'wialogdb' LIKE であってはならない WHERE TABLE_SCHEMA = 'wialogdb' であるべきです。このクエリははるかに高速ですが、Navicat の内部コードであるため変更できません。過去にはこの問題はありませんでした (古い MySQL 5.1.34)。

どんな助けでも大歓迎です。

前もって感謝します。

4

1 に答える 1

3

自分のソフトウェアでない場合は、修正しようとしないでください。パフォーマンスの問題があり、パフォーマンスを改善できるものを見つけたことを作成者に知らせてください。

人々がソフトウェアのライセンスを購入するのには理由があります。それは、サポートを利用することです。

于 2013-05-03T11:43:35.487 に答える