2009-01-01から1年間の記事一覧
DrizzleのクライアントをCentOS 5.3に入れてPerl DBIでMySQL 5.1につないでみた日記。Drizzleって何?って方はIntroducing the Drizzle Projectをご覧ください。 Drizzle Client & Protocol LibraryからDownloadsと書いてあるリンクをたどって、libdrizzle-0…
先日ふとMySQLの品質を確認する方法はないだろうかと考えて、試しにリリースノートの情報をもとにバグ曲線を描いてみました。ソフトウェアの信頼度成長曲線とかゴンペルツ曲線などとも呼ばれているものです。 対象はMySQL 5.0.0〜5.0.27、5.0.28〜5.0.82(Ent…
出ました。5.1.35では47個の不具合が修正されています。 今回は3行クラッシャー、Bug#44151のご紹介です。 mysql> use information_schema Reading table information for completion of table and column names You can turn off this feature to get a qui…
Perl DBIのプログラムを書いていて、CentOS 5.3付属のDBD::mysqlをそのまま使ったら困ったという話です。 再現ケース 動く例です。 $sth = $dbh->prepare_cached('select ename from emp where empno = ?'); $sth->bind_param(1, 7788, SQL_INTEGER); $sth->…
ピンポイントチューニング講座です。まずは結果から。 このグラフは、以下のテーブルに50,000レコードINSERTしたときの処理時間を示したものです。性能に70倍以上もの差が出ているのはなぜか、見ていきたいと思います。 CREATE TABLE `loadtest` ( `id` int(…
Oracleを触ったことのある人は、一度はSCOTTスキーマのEMPテーブル、DEPTテーブルを見たことがあると思います。それぞれ14レコード、4レコードしかないのにSQLの基礎を学ぶための要素がいろいろ詰まっていて、とても便利なスキーマです。 というわけでMySQL…
SSDがマイブームです。先月自宅のPCにX25-Mを導入したばかりですが、気づいたら2台に増えていました。これはとても危険ですね(財布的に)。 先月のエントリで検証したように、上位のSSDはデータベースに使ってもやはり抜群の性能を見せます。この超高性能をぜ…
うはー 最近オラクルの営業さんと疎遠になってるなあ、明日メール入れとこう…。 JRockit持ってるのにSun Java VM使うの? Exadataでhpと協業してるのにSunのサーバ使うの? Oracle Database持ってるのに(以下略 /) ///) /,.=゙''"/ / i f ,.r='"-‐'…
MySQL 5.1.34がリリースされました。今回は25個の不具合が修正されています。 本日はmysqlクライアント側のバグをご紹介します。Bug#43254です。 mysql> set sql_select_limit = 0; Query OK, 0 rows affected (0.00 sec) mysql> use mysql セグメンテーショ…
MySQL 5.1のmysqldumpslowを使うとチューニングが楽になる!という話題です。 mysqldumpslowはもともとMySQLに付属しているツールで、スロークエリログを集計してくれるものです。これ自体はMySQL 5.1で特に変わったところはありませんが、スロークエリログ…
logrotateなどの設定をしていて、動作確認したいなあと思ったときのTIPSです。 $ mysqladmin -u root debugこんなログが出ます。 Status information: Current dir: /var/lib/mysql/ Running threads: 1 Stack size: 196608 Current locks: lock: 0xa735d38:…
MySQL Enterprise Serverの5.1.33がリリースされました。Community Serverもほどなくリリースされると思います(2009/04/02追記 リリースされました)。5.1.33には59個のバグフィックスと、3個の仕様変更があります。 今回は10行でサーバを落とすバグのご紹介…
X25-M、SSDで検索してくる方が非常に多いので、本ブログ内のSSD関連記事をリストしておきます。 MySQLのベンチマークを用いたIntel X25-M SSDの評価 (本記事) SSDの真の性能を引き出す MySQL 5.1.38 InnoDB Plugin (2009/09/07) 先週末IntelのSSD、X25-Mが突…
米IBM、サン・マイクロシステムズ買収で交渉 製品ラインかぶりまくりのような。Javaが欲しいのかな?
MySQLの最も多い利用ケースは、レンタルサーバに入っているものをそのまま使うというものだと思います。そこで、国内でMySQL 5.1に対応しているレンタルサーバを調べてみました。ここでは最初からインストール済みのものを対象とします。 さくらインターネッ…
MySQL 5.1.32でました。といってもCommunity Serverは本日時点でまだのようで、リリースを確認したのは有償のEnterprise Serverの方です。(2009/03/05追記 Community Serverもリリースされました) MySQL 5.1.32のリリースノートを確認すると、今回は約40個の…
以前のエントリで紹介したMySQLのJDBCドライバConnector/J 5.1.7のSQLインジェクション脆弱性ですが、ようやくパッチができたようです。 public void setString(int parameterIndex, String x) throws SQLException { … for (int i = 0; i < stringLength; +…
データベースに対する負荷ツール、ベンチマークツールは世の中にたくさんあるのですが、単一テーブルに対する主キー検索しかしないものなど、CPUクロック勝負の比較的単純なものが多くを占めているようです。そこで本日は、もう少し高度なベンチマーク仕様と…
MySQL 5.1.31出ました。今回はなんと100個以上のバグが修正されています。読むだけでも大変な上に結構痛いバグがたくさんあるようですので、5.1.30を早速使っているチャレンジャーな方はすぐにアップグレードすることをおすすめします。GAでいよいよ大勢の顧…
MySQLのInnoDBストレージエンジンは行ロックをサポートしています。しかしOracleと同じ感覚でアプリケーションを作っていると、思わぬところでデッドロックに出くわすことがあります。これはInnoDBのロック範囲がOracleよりも微妙に広いためです。 実際の例…
phpMyAdminのChangeLogに 3.0.0.0 (2008-09-27) [table] support MySQL 5.1 PARTITION: CREATE TABLE / Table structure, partition maintenance とあったので、確認してみました。確認したバージョンは3.1.1です。 パーティション定義は直接SQLを書かなけれ…