MySQL Server (バージョン 3.23-max およびすべてのバージョン 4.0 以降) では、InnoDB トランザクションストレージエンジンでトランザクションがサポートされています。MySQL 5.5 以上では、セクション14.1.1「デフォルトの MySQL ストレージエンジンとしての InnoDB」で説明しているように、新しく作成したテーブルではデフォルトで InnoDB が使用されます。デフォルトで、InnoDB は完全な ACID コンプライアンスを提供します。ACID コンプライアンスと raw パフォーマンスとのバランスを取るように設定を調整する方法については、セクション14.2.1「MySQL および ACID モデル」を参照してください。トランザクションエラーの取り扱いにおける、標準 SQL と InnoDB との違いについては、セクション14.19.4「In
MySQLでクエリの速度を比較するやり方があれば教えてください。 通常の実行結果だと 1.50sec と 1.00secはどれだけ差があるものなのかピンとこないので、どれくらいであれば速いor遅いのか、基準(経験則でも構いません)などもあればお願いします。
今回は,MySQLのチューニングを解説する。この連載でもすでに一度,MySQLのチューニングを紹介したことがある(第8回 MySQLチューニングのテクニック)。このときは,SQLステートメントやテーブルそのものを高速化するためのテクニックを取り上げている。これは,サーバーの設定では,対応できない場合のテクニックだ。今回は,初心に帰る意味でも最初に検討すべき,サーバーの設定に関して取り上げる。 MySQLサーバーの状況確認 なぜ,今回このようなテーマを選んだかというと,MySQLをインストールしたままで使用しているユーザーがかなりいることに気が付いたからだ。MySQLは,他のデータベースと比較すると設定が少なくても高速に動作すると言われている。その手軽さが大きな魅力となっている。しかし,これは,小規模を前提にしている。大規模な処理を行うサーバーは,それなりに強力なスペックを持っている。このス
サーバステータスは、様々なサーバの状態を返します。 現在のサーバステータスを確認するには、以下のSQL文を発行します。 SHOW STATUS; SHOW STATUS LIKE 'Qcache%'; サーバステータスを変更することは出来ません。 サーバステータスは主に、各種システム変数の調整をするために 利用されます。つまりパフォーマンスチューニング用です。 以下、MySQL5.0.16対応のサーバステータス一覧です。 クエリキャッシュ関連 Qcache_free_blocks クエリキャッシュの空きブロック数。 この値が0以上の場合、クエリキャッシュにはまだ余裕があります。 query_cache_size システム変数でキャッシュサイズを指定できます。 Qcache_free_memory クエリキャッシュの空きメモリ(byte単位)。 この値が0以上の場合、クエリキャッシュにはまだ
■ インデックスとは データベースの世界で、インデックス(索引)とはテーブルに格納されているデータを 高速に取り出す為の仕組みを意味します。 インデックスを適切に使用することによってSQL文の応答時間が劇的に改善 される可能性があります。 インデックスにはB-Treeインデックスをはじめ、ビットマップインデックス、 関数インデックスなどの種類がありますが、ここでは最も一般的に使われ、かつ ほとんどのDBMSでサポートされているB-Treeインデックスについて解説します。 ※ CREATE INDEX文でオプションを指定しない場合は通常B-Treeインデックスが 作成されます。 ■ B-Treeインデックスのしくみ B-Tree(Balanced Tree)インデックスは次のようなツリー状の構造になっています。 ツリーの先頭はヘッダブロックと呼ばれています。ヘッダブロックでは、キー値の 範囲
限りなく眠気を誘うPHP Internalsのセッションから逃げる。こっちの 講師はMySQL.comの人。講演慣れしていて、ずっとまともでプロフェッショナルな 感じ。午前中を逃したのが惜しいが、詳しいプレゼン資料は後日公開される らしい。 DELETEのコストはかなり高い 読みだしがすごく多い場合は無効化を示すフィールドを作りUPDATEすべき、 index更新のコストが馬鹿にならないSHOW STATUSの表示結果の解析方法 起動ごとに初期化、全データベースに共通rnd と rnd_next の割合Key_reads : Key_read_requests 、ディスクから読まれた回数:総回数 この割合が1:100より悪くなったら要注意Key_write_requests:Key_writes 総書き込み要求回数:ディスクに書き込ま れた回数 キャッシュの効果などMax_used_con
MySQLのネタ。 1台しかない環境でエセ負荷分散を行う。 MySQLで負荷分散を考えたとき、 1台目にマスターのDBサーバー、 2台目以降をスレーブのDBサーバーとして用いる。 マスターは更新系のみのSQL文を、 スレーブは参照系のみのSQL文を投げる。 こんな負荷分散を1台のサーバーで行う必要が出てきた。 現在1台でやっていて、ディスクIOが追いつかずに捜し求めた結果、下の形で落ち着いた。 1つのテーブルでインデックスを含めたサイズが 30MB〜100MBほどで安定している、という条件があるのですが かなり負荷下がります。 ※上記サイズは搭載メモリサイズによって変わります -------------------------- ■やりかた 負荷が高いテーブルをAとする 1:Aと同じテーブル構成で、エンジンをMEMORY(he
MySQLで日付時間データ入れておくデータ型、 datetime型はよく使いますよね。 データだけあって、日付別の集計が必要になってくることがありますよね。 普通に考えて集計やろうとするならgroup by使うんですが このdatetime型、group by datetimeとやった場合、 秒あたりの重複数を数えてくれて日にち別の集計は行ってくれません。 そこで、substring関数。 substring(datetime,1,10) as date とやると group by でも使えます。 mysql> select id,board,dat,w,s,datetime from accesslog limit 100,1; +--------+----------+------------+------+------+--------------
*1 明示的に使用したportsディレクトリのみ。依存関係から従属的にインストールされるportsは含めていない。なお、予め各jail内の/etc/make.confには、WITHOUT_X11=yesを追加して、Xのライブラリ等をインストールしないように設定してあります。 *2 信頼できないネットワークから参照できるIPアドレスの場合はおすすめできない。これ専用にjailを構成した方が良いのかも。 *3 wiki内で記述した数式を画像化して表示するために用いる。この機能を利用しない場合は必要ありません(その他、ghostscript-gnu、ImageMagick等が必要であるが、mediawikiインストール時に、これらも同時にインストールされたので除外してある)。 Follow up: ホスト側の設定 まず、Webサーバとデータベースサーバ用に使う2つのjail環境を用意し
Product Information Introduction SQL Power Injector is an application created in .Net 1.1 that helps the penetration tester to find and exploit SQL injections on a web page. For now it is SQL Server, Oracle, MySQL, Sybase/Adaptive Server and DB2 compliant, but it is possible to use it with any existing DBMS when using the inline injection (Normal mode). Indeed, the normal mode is basically the SQL
概要 これは 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
インストールをマスターしよう これからインストール方法を解説していきますが、以降の作業はサーバにroot権限があることを前提としています(“#”はスーパーユーザーで実行されることを前提としたプロンプトです)。レンタルサーバを使用されている方で、root権限を持てない場合でも、契約されているディスク領域に一般ユーザーでインストールすることはできます。しかし、当然自身のユーザー権限で動かす以上リスクもつきまといます。なるべくサーバ管理者に相談し、MySQLをサービス提供してもらえるようにしましょう。 MySQLは現在“3.23.29a-gamma”までリリースされています(2000年12月23日時点)。alpha、betaの段階を終わってgammaになっており、使用にはほとんど問題ありません。また、さまざまなバイナリファイルが用意されているので、makeをしなくてもすぐ導入できます。もちろんバ
MySQL において、データベースとテーブルは、ディレクトリとそれらのディレクトリ内のファイルに対応しています。そのため、ベースとなっているオペレーティングシステムで大文字と小文字が区別される場合(ケース依存)、データベース名とテーブル名でも大文字と小文字が区別されます。つまり、Windows ではデータベース名とテーブル名で大文字と小文字は区別されず、ほとんどの種類の Unix では大文字と小文字が区別されることになります。ただし、重要な例外が 1 つあります。Mac OS X でデフォルトの HFS+ ファイルシステムを使用している場合です。 しかし、Mac OS X は UFS ボリュームもサポートしています。UFS ボリュームでは Unix の場合と同じように Mac OS X でも大文字と小文字が区別されます。 See 項1.8.3. 「SQL-92 標準に対する MySQL 拡
General Information - What is DBDesigner 4? DBDesigner 4 is a visual database design system that integrates database design, modeling, creation and maintenance into a single, seamless environment. It combines professional features and a clear and simple user interface to offer the most efficient way to handle your databases. DBDesigner 4 compares to products like Oracle's Designer�, IBM's Rational
naoyaさんが公開されてるInside Hatena Bookmark's Backend の資料などを読むと、mod_perlなサーバーやMySQLサーバーの選び方の参考になったりするわけですが、世の中を見渡してみても、静的コンテンツ(画像とか)を配信するサーバーの指南書らしきものはなかなか見あたりませんでした。 なので、経験を元に書いてみることにします。 弊社の画像配信サーバーには、平均10kbぐらい(たぶん)の画像が30万個ぐらいあって、それをDell PowerEdge 1750+lighttpdを使って配信してます。 以前は搭載メモリ1GBのサーバーを使っていたのですが、その時のvmstatがこのような感じ。 procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu---- r b sw
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く