Web関連エンジニアなら必ず読むべき本 〜 Webエンジニアのためのデータベース技術[実践]入門 〜 を全部読んだ 2709円でこんなに濃厚なコストパフォーマンスがアホみたいに高い本は読んだ事無いし、Web関連のエンジニアをやっている人は必ず読んだ方が良いし、特にどのレイヤをやるかに関わらずエンジニアを目指す学生さんも卒業までには読んでおいたほうが良い本でした。 なんか誤解が多そうなんで追記しておくと、本書は「カジュアルなデータベース*利用者*のための入門本」ではなくて「本質的なデータベース技術の知見を得る為の入門本」である。ちゃんとタイトルだってデータベース技術って書いてあるでしょ? 明日着でWDP献本先と同住所に送付さ せていただきます。ご一読いただき、コメントなどいただけると大変ありがたい です。 明日発売なので念のためご連絡させていただきました。 というメールを3月8日に頂いて、実
追記: rehash(auto-rehashも含む)すると、SQL文の補完(seleでタブ打鍵とか)が効かなくなるよと、はす向かいの人に教えてもらいました。 個人的には、SQLは「mysql> help select」とかでオンラインヘルプがびょっと出るので、スキーマの補完ができるんならSQLの補完はとりあえずあきらめてもいいかなと思っています。 常々、テーブル名とか補完できるといいなーと思っていたので、ボロっときいてみたら教えてもらいました。あざーーーーっす! id:mikihoshi++ id:tokuhirom++ id:precuredaisuki++ おかげで効率が300%上がりました。(Benchmark::Stopwatchで計測) http://dev.mysql.com/doc/refman/5.1/en/mysql-command-options.html#option
Innodbが十分に安定している今敢えてMyISAMを選択する理由はあまり無いのだけど、ここしばらく苦しめられた思い出として記録する MyISAMとキャッシュ MyISAMではデータとインデックスがそれぞれ別の方式でキャッシュされる。データはOS自身が持っているページキャッシュで、インデックスはMySQLではkey_buffer_sizeと呼ばれる値で指定されるサイズの領域。Innodbではこれらが統合されているので、キャッシュ領域を主記憶の過半以上に確保してしまっても何ら問題ない(むしろ推奨値は主記憶の最大80%)。ところが、MyISAMでは前述の通りOSのページキャッシュを利用するためそれらのために十分に残りメモリを確保するため、key_bufferは1/4程度に抑えておく必要がある。 key_bufferの管理方式 key_bufferはmy.cnfでサイズを指定するが、内部ではこれ
たかだか700万行、 mysqldump して 150MB 弱のデータ量しかないテーブルに一つユニークインデックスを貼るだけで7時間半かかってまだ終わらないってどういうことよ。この大きさになるともう ALTER TABLE では無理だってことか・・・。夜中に ALTER TABLE し始めたときと、ついさっきとで、 show full processlist の結果は悲しくも変わらず copy to tmp table のまま。何個かインデックス貼るうちの最初の一個でこれじゃあ。ほっといても永遠に終わらなそうだ。 RENAME TABLE したあと元の名前でインデックスありのテーブルを作り直し、 INSERT INTO new_table SELECT * FROM old_table するのと、 mysqldump して CREATE TABLE にインデックスたして全部ロードしなおすの
MYSQL_PS1: 6 Examples to make your mysql> prompt like Angelina Jolie A while back we tried to customize unix prompt to look like Angelina Jolie. Oh boy, didn’t I fail miserably in that attempt? Well, that didn’t stop me from trying an extreme makeover for mysql> prompt. Let us face it. The following mysql> prompt is boring. Nobody wants to see it. Let us change the default mysql> prompt to somethi
戻る Overview MySQLの古いバージョンを頒布しています。各メジャーバージョンの最終マイナーバージョンを対象とし、ソースコードおよびWindows版とLinux版のバイナリパッケージを格納しています。Linuxについてはその当時のRed Hat Enterprise Linux最新版向けでx86_64版のものを優先的に格納しています。ライセンスはGPL v2です。 今後これらの古いバージョンに対して新たな不具合や脆弱性が見つかっても、開発元による修正は行われません。そのため本番環境での使用は避け、ソースコードの調査や旧システムからの移行準備にのみ使用することを推奨します。 MySQL 5.1.73 MySQL 5.1系列の最終マイナーバージョンは、2013年12月にリリースされた5.1.73です。 mysql-5.1.73.tar.gz - Source Code mysql-n
MySQLはGPLv2で頒布されているフリー(自由な)ソフトウェアだ。誰でも自由に改造、改善、機能追加して、GPLv2のもと再頒布することが出来る。 そうは言っても改造なんて敷居が高くて出来ないよ・・・という人に朗報なのが本書「MySQL 5.1 Plugin Development」だ!MySQLはストレージエンジンによってデータを管理するレイヤーが独立しているのはよく知られているが、MySQL 5.1ではさらに一歩進んで、ストレージエンジンを含む様々なプラグインを作成できるようになった。プラグインAPIを使ってMySQLを拡張すれば、無造作に改造してしまうよりもずっと楽にMySQLをハック*1することが出来るだろう。 MySQL 5.1で利用可能なプラグインPlugin APIは、MySQL 5.1で新たに追加された機能である。これにより、共有ライブラリ形式で後から機能を追加することが
□パフォーマンスチューニングのテクニック ・まずは状況把握 原因の推測のための情報収集 各種ツールの利用 ボトルネックをひとつづつ潰す ・パフォーマンス指標 スループット レスポンスタイム スケーラビリティ 上記の組み合わせ ・スロークエリログの分析 5.1からは0.x秒単位でログ指定が可能 頻繁に記録されるslowログから対応する mysqldumpslowで統計処理して見極め クエリアナライザの利用(高機能版mysqldumpslow) MySQL Enterprise Monitor + MySQL Proxy Proxyでクエリと統計を収集、Monitorで記録分析表示 ・EXPLAINで解析 遅いクエリをチェックしていく EXPLAIN typeでALL、index、index_subqueryが出たら注意 key_lenが大きすぎるとNG indexを使っていない場合にはつけて
What is Spock Proxy? Spock Proxy supports range-based horizontal paritioning of a large MySQL database. The proxy intercepts SQL queries from the client, sends queries to the correct databases based on how the database is partitioned, then aggregates the results from each database and returns them to the client as a regular MySQL result set. Design Goal Spock Proxy's original mandate was to horizo
米オラクルは、オープンソースのデータベースとして普及しているMySQLをクラスタ化して利用するためのソフトウェア「MySQL Cluster 7.2」の正式版を公開しました。 GPLに準拠したオープンソース版と同時に、管理ツールを同梱し、24時間365日のサポートも行う商用版の「MySQL Cluster Carrier Grade Edition」も同時に公開しています。 ジョインが70倍高速に MySQL Cluster 7.2の最大のポイントは、ジョインが高速になったことです。これまでクラスタでのジョインは、ジョインするテーブルのデータがクラスタ内のノード間をいちいち飛び交っていたため、複雑なジョインになるほど遅いものになっていました。 MySQL Cluster 7.2で採用されたAdaptive Query Localization(あるいはPush Down Joins)と呼ば
MySQLの高度な管理とチューニングテクニック:快速MySQLでデータベースアプリ!(11)(1/2 ページ) 本連載もついに最終回。今回はMySQLサーバの運用・管理に必要な状態監視、チューニング、バックアップ、セキュリティについて解説する。以下のテクニックを駆使すれば、MySQLをさらに安定稼働させられるだろう。 前回までは、さまざまな言語やアプリケーション、とりわけWebアプリケーションからMySQLを利用することを主眼に説明してきました。皆さんの中には、それらを応用した実用的なプログラムを考えている方もいるかと思います。そこで、今回は運用上必要となるテクニックをいくつかのトピックに分けてご紹介します。「まだまだ実用は先だ」と思われている方も、いつかくる日のためにこんなこともできるということだけでも知っておいてください。 ロギング機能と動作ステータスの取得 障害発生を防ぐための一番の
特徴 ファイル形式 table_name.frm : メタデータ table_name.MYD : 実データ table_name.MYI : インデックス ヘッダ インデックスブロック ロック テーブル単位。ロック方式は以下。 READ LOCAL(SELECT/INSERT OK。UPDATE/DELETE NG) READ(SELECT OK。INSERT/UPDATE/DELETE NG) WRITE(すべてNG) Concurrent INSERT mysql > SET GLOBAL concurrent_insert = xで制御 0 : 利用しない 1 : MYDファイルに穴がない場合にSELECT中にINSERT可能 2 : データの最後にAPPENDする。SELECT中にINSERT可能 そのほか ロックがかかっている時に他SQL(SELECT/UPDATE等)が入って
ときどきMySQL 4.0など古いバージョンの調査をすることがあるのですが、そのたびにファイルが見つからず困っていたので一箇所に集めておきました。 MySQL Archives - dbstudy.info プロダクトライフサイクルの終了したメジャーバージョンについて、最終マイナーバージョンのソースコードおよびWindowsとLinuxのバイナリパッケージをダウンロードできるようにしてあります。ディスク容量に限りがあるため、Linuxについてはその当時のRed Hat Enterprise Linux最新版向けでかつ64ビット版のものを優先的に格納しています。 今後これらの古いバージョンに対して新たな不具合や脆弱性が見つかっても、開発元による修正は行われません。そのため本番環境での利用は避け、ソースコードの調査や旧システムからの移行準備にのみ利用されることを推奨いたします。GPL v2で頒
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く