>レコード数が多くなったテーブルを結合するとフリーズするほど処理が重くなってしまった時の対処法2013年4月15日レコード数が多くなったテーブルを結合するとフリーズするほど処理が重くなってしまった時の対処法FacebookTwitterhatenaLINEレコード数が多くなると、DBの処理も慎重に行わなければいけません。多くのレコードに対して負荷の思いクエリを投げると落ちてしまう事にも繋がってしまいます。今回はMySQL起動時に下記のようなエラーが発生した時の対処法です。connections内容としては「『同時接続可能な数を超えているよ」というもの。順番に現象を確認してみると、このエラーが発生していたのは「複数のテーブルを結合し、複雑なwhere句が書かれたクエリを投げていたページ」でした。150万件と7万件程度のレコード数を持つ2つのテーブルを扱うのは大変なのか、と思いきや、下記一文を添えてあげるだけでこの問題は解決しました。tableこのSTRAIGHT_JOINはテーブルの結合順を決定するもので、特に指定しない場合はオプティマイザが結合順を決定します。複数のテーブルを結合する処理が思ったように実行されない場合、STRAIGHT_JOINを試してみると良いかと思います。MySQL「MySQL」の最新記事MySQLで先頭のゼロを消さずにINTで数値を格納する方法MySQLでテーブルを作成する時にフィールドのデータ型を決めるわけですが、数値を格納する時はどうしましょう。使われるのは「INT」型だと思います。...MySQLでUNIQUEキーを追加、削除するSQL文PHPxMySQLで会員制サービスを構築するような場合、ユーザーIDなど重複してほしくないカラムに対してUNIQUEキーを設定したりします。見たことのないエラーにぶつかると困ってしまいますが、データベースが操作できなくなるといったエラーは本当に致命的。会員情報を格納しているテーブルにログインのためのパスワードがあるのですが、プログラムの知識が乏しい時期に作成したテーブルのため、パスワードを生でそのまま文字列と...MySQLバージョン4.x以前からエクスポートしたSQLファイルのトラブル解決法バージョンアップに対応するのはウェブ屋の逃れられない対応であり、言語やDBはバージョンアップに対応できないと動作すら危うくなる危険もあります。コメントをキャンセルメールアドレスが公開されることはありません。