フリー(GPL)なMySQL Workbenchを使って、MySQLのER図を出してみた。 以下、ダウンロード方法と、作り方。 MySQLフリー(GPL)なMySQL Workbenchを使って、MySQLのER図を出してみた。 以下、ダウンロード方法と、作り方。 MySQL Workbenchって何? 以下を見ると概要がわかる。 MySQL :: MySQL Workbench 5.1 □ダウンロード 以下より、MySQL Workbench (GUI Tool)をダウンロードする。 (要ユーザ登録。現時点2010年7月でのバージョンは、 5.2.25) MySQL :: MySQL Downloads (Generally Available) □ER図の取り方 1. 上記タブの DataBase -> Reverse Engineer からを選択。 2. Reverse E
maatkitを一通り使ってみたメモ - ククラフト で紹介したMaatkitのMySQLのクエリ統計ツールmk-query-digest. mk-query-digest /var/lib/mysql/db.slow.logという風にして,MySQLのスローログを食べて # Query 73: 0.00 QPS, 0.00x concurrency, ID 0x2256C8F4C0666085 at byte 322977024 # This item is included in the report because it matches --outliers. # pct total min max avg 95% stddev median # Count 0 10 # Exec time 0 20s 2s 2s 2s 2s 0 2s # Lock time 0 0 0 0 0 0
接続プーリングは、すべてのスレッドが必要な接続をすぐに使用できるよう、接続のプールを作成し管理する方法です。 接続をプールするこの方法は、ほとんどのアプリケーションは、普通数ミリ秒で完遂できるトランザクションを積極的に処理している時に、スレッドが JDBC 接続にアクセスすることだけを必要とするという事実に基づいています。トランザクションを処理していない時、接続はそうでなければ待機します。代わりに、接続プールは他のスレッドに、待機接続を有効に利用することを許可します。 実際には、スレッドが MySQL や、JDBC を使用する他のデータベースに対して作業を行う時、プールからの接続を要求します。スレッドは接続を使い終えたらそれをプールに戻し、他のスレッドが使用できるようにします。 接続がプールから貸し出されると、要求したスレッドが独占的にそれを使用します。プログラミングの観点からは、スレッド
この文書は、osCommerceで使用しているデータベースMySQLの基本的な使い方について解説しています。おもにデータベースの管理者よりも、ユーザに向けて書かれています。 はじめに ここでは、MySQLサーバは起動しているものとして説明します。 MySQLの文字について MySQLでは、データベース名やテーブル名の大文字と小文字を区別しています。それ以外は区別しません。 MySQLのフィールド名やテーブル名に使える文字は、英数字と_(アンダーバー)、$、サーバのキャラクタセットにある文字です。 知っておきたいコマンド mysqladmin(データベースの作成・削除や、MySQLサーバの情報を得る) mysqlshow(データベース、テーブルの情報を表示する) mysql(MySQLクライアントの起動) mysqldump(データベース、テーブルをダンプする) myisamchk(テーブル
よくMySQLはサブクエリが弱いと言われるが、これは本当だろうか?半分は本当で半分は嘘である。MySQLのサブクエリだってなんでもかんでも遅いわけではない。落とし穴をしっかり避け、使いどころを間違えなければサブクエリも高速に実行できるのである。今日はMySQLがどんな風にサブクエリを実行し、どのような場合に遅いのかということについて説明しよう。 EXPLAINで実行計画を調べた際に、select_typeにはクエリの種類が表示されるのだが、代表的なサブクエリには次の3つのパターンがある。 SUBQUERY DEPENDENT SUBQUERY DERIVED 結論から言おう。遅いのは2番目、DEPENDENT SUBQUERYである。DEPENDENT SUBQUERYとはいわゆる相関サブクエリに相当するもので、サブクエリにおいて外部クエリのカラムを参照しているサブクエリのことである。そし
いつも「MySQLを使うときはこうするべき」という観点から記事を書いているが、今日は逆に犯してはいけない過ちをリストアップしようと思う。 1. 全てのカラムにインデックスをつけるデータベース初心者がもっともやってしまいがちな間違いはコレではないだろうか。インデックスはいい。検索がとても速くなるから。しかし、それと引き替えにインデックスは更新するときにコストがかかるし、その分多くのディスクスペースを消費する。特に更新にかかるコストは時に甚大で、該当するインデックスのページがキャッシュ上にない場合はディスクからいったんそのページを読み込まなければいけない。ディスクアクセスは動作にとても時間がかかるので、インデックスが多数、例えば全てのカラムに付いていたりすると「あれ?固まったか?」というような状態になってしまうことがあるだろう。インデックスは必要なカラムにだけつけるようにテーブルを設計しよう。
正規表現は、複雑な検索でパターンを特定する協力な方法です。 MySQL はヘンリー・スペンサーの正規表現の実装を使用します。これは、POSIX 1003.2. との適合性を目指したものです。Creditsを参照してください。MySQL は、SQL ステートメントでの、REGEXP 演算子とのパターン照会演算をサポートするため、拡張バージョンを使用します。 この節では、MySQL で REGEXP 演算に使用される特殊な文字や構文の概要や例を記載します。ヘンリー・スペンサーの regex(7) マニュアルページにあるような詳細は網羅していません。このマニュアルページは MySQL のソース配布物の、regex ディレクトリ下の regex.7 ファイルに含まれています。項1.3.4.7. 「パターンマッチング」 も参照してください。 expr NOT REGEXP pat、expr NOT
次に、日付関数の使用例を示します。 次のクエリーは、過去 30 日以内の date_col 値を含むすべての行を選択します。 mysql> SELECT something FROM tbl_name -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col; このクエリーは、将来の日付を持つ行も選択します。 通常、日付値が要求される関数では、日付時間値が受け入れられ、時間の部分は無視されます。 通常、時間値が要求される関数では、日付時間値が受け入れられ、日付の部分は無視されます。 現在の日付または時間をそれぞれ返す関数は、クエリー実行の開始時にクエリーごとに 1 回だけ評価されます。 つまり、NOW() などの関数が単一クエリー内で複数回参照されても、常に同じ結果が生成されます。 (設計上、単一クエリーにはストアドプログラム (スト
概要 これは MySQL リファレンスマニュアルです。 MySQL 8.0 から 8.0.25、および NDB のバージョン 8.0 から 8.0.25-ndb-8.0.25 に基づく NDB Cluster リリースについてそれぞれ説明します。 まだリリースされていない MySQL バージョンの機能のドキュメントが含まれている場合があります。 リリースされたバージョンの詳細は、「MySQL 8.0 リリースノート」を参照してください。 MySQL 8.0 の機能. このマニュアルでは、MySQL 8.0 のエディションによっては含まれていない機能について説明します。このような機能は、ご自身にライセンス付与されている MySQL 8.0 のエディションに含まれていない場合があります。 MySQL 8.0 の使用しているエディションに含まれる機能に関する質問がある場合は、MySQL 8.0
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く