親バカエンジニアのナレッジ帳

webのエンジニアをやっており、日頃の開発で詰まったことや書き残しておきたいことを載せています。

Sequel Proが重くなった場合の対処法


Sequel Proが重くなる事象

https://sequelpro.com

MacのMySQLクライアントソフトとして大変便利なSequel Proですが、長く使っていると突然動作がどっしりと重くなってしまう事象が発生します。
そんな時の解決方法をここでは紹介したいと思います。

一応前提条件ですが、Sequel Proを使わずにMySQLに接続した場合は重さを感じずに通常通り利用できる状態にあることとします。
Sequel Proを使わずにMySQLに接続した場合でも重い場合は、Sequel Proとは関係ない別な原因で発生していると考えられるので、MySQLの状態などを確認してください。

また、Sequel Proのバージョンとして1.1.2を使いますが、どのバージョンでも同じ手順で解決できると思います。

どんな動作が重くなる?

操作全般が重くなり、例えば下記のような事象が発生します。

・クエリを実行させてから結果が返って来るまでの時間が異常に長くかかる(タイムアウトも起きる)
・新しくタブを開くまで長時間かかる
・テーブルの定義情報の閲覧は重くならないが、データの閲覧は重い
・再起動しても治らない
・ローカル環境でも、外部のサーバにネットワーク経由で接続した場合でも関係なく重くなる

ちなみにMySQLに繋がらないといったような事象はないです。



解決手順

解決方法は至ってシンプルで、何か設定を変えたりする必要はありません。
下記のように「クエリ履歴」を開き、「共用の履歴を消去」を選択すれば良いのです。

f:id:tomotomo1129:20180628012948p:plain

これで解決するはずです。
私の記憶では、使っているうちに徐々に重くなるわけではなく、突然重くなり、PCの不調を疑うほどでした。

Sequel Proでは「環境設定」-> 「一般」と進むと、以下のようにどれだけ履歴を残しておきたいか設定することができます。
私の場合はデフォルトから触っておらず20クエリにしていたはずなので、そんなに残していないはずですが。。。

f:id:tomotomo1129:20180628012954p:plain

考えられることとしては、一度に大量のINSERT文やUPDATE文を発行することがあるので、それが原因かもしれません。
たまに数百、数千のDMLクエリを同時に発行していたので、その履歴が全て残ってしまったのかなぁとなんとなく予想しています。

みなさんも、突然Sequel Proが重くなった場合は今回の手順を試してみてください。