MySQLの1テーブル1インデックス問題(勝手に名づけました)が気になってしょうがない! 何故なら「MySQLモデリング」というのが根本的なレベルで存在するとしたら嫌だからです。

yohgaki’s blog – 不自由なWebサイト

「Night Crawler」と呼ばれるシステムでクロールして未登録サイトを見付けて閉鎖させているようです。

大陸ではNight Crawlerが未登録サイトを見つけては閉鎖!((((((;゚Д゚))))))

基本的なことっぽいですが、気になって夜も眠れないので聞いてしまいます。誰か教えてください!!!

オライリーの「実践ハイパフォーマンスMySQL」には

「MySQLでは、1つのクエリを実行する時、1つのテーブルにつき1つのインデックスしか使用できない」

と書いてあります。同じような内容を公式リファレンスマニュアルからは見つけられなかったんですが、実際に試して見る限りそのようです。他のRDBの感覚で言うと1テーブル1インデックスしか使われないのでは現実的な速度が出ない気がします。インデックスが使われないならレコード数に比例して速度が遅くなっていきそうです。これ、みんなどうやってるんでしょうか。

実践ハイパフォーマンスMySQL
  • 実践ハイパフォーマンスMySQL
  • オライリージャパン(2004-10)
  • (著)ジェレミ・D. ザウドニ
  • (著)デレク・J. ベリング
  • (原著)Jeremy D. Zawodny
  • (原著)Derek J. Balling
  • (翻訳)林 秀幸
  • 定価:¥ 3,780
  • 新品価格:¥ 3,780
  • ASIN:4873112095
kunitの日記

次の点を修正した 3.0.2 をリリースしました。

  • 3.0.1の修正によって、Tokenフィルターで二重submitチェックが効かなくなっていたのを修正
  • 親ディレクトリのmaple.iniを継承した際の挙動が3.0.0と3.0.1とで違っていたので、3.0.0と同じようになるように修正

Maple 3.0.2がリリース。 フレームワークという以上に注目すべきオープンソースプロジェクトになってる気がします。kunitさんとはPHP勉強会でちょこっとお話させてもらっただけですが、設計に素晴らしいバランス感覚を持ってらっしゃる!と感じました。 あまりに精力的に活動されてるので交通費は会社の経費で落ちるのかがかなり気懸かりです。

さくらにサーバ移管した瞬間に家のにせマックがアクセス不能。 ディスプレイ持ってないから復活厳しいです。 HDD抜いて、外付けUSBに付けてKNOPPIXから救出か。非常にだるいです。

PEAR :: Package :: PEAR :: 1.4.0

Changelog:

This is a major milestone release for PEAR. In addition to several killer features, every single element of PEAR has a regression test, and so stability is much higher than any previous PEAR release.

New features in a nutshell:
  • full support for channels
  • pre-download dependency validation
  • new package.xml 2.0 format allows tremendous flexibility while maintaining BC
  • support for optional dependency groups and limited support for sub-packaging
  • robust dependency support
  • full dependency validation on uninstall
  • remote install for hosts with only ftp access – no more problems with restricted host installation [through PEAR_RemoteInstaller package]
  • full support for mirroring
  • support for bundling several packages into a single tarball
  • support for static dependencies on a uri-based package
  • support for custom file roles and installation tasks

NOTE: users of PEAR_Frontend_Web/PEAR_Frontend_Gtk must upgrade their installations to the latest version, or PEAR will not upgrade properly

待望のPEAR 1.4がついにリリース。 最大の変更点はChannelをサポートしたことでしょう。ChannleとはPEAR本家以外にもリポジトリを勝手に立てて、そこからpearを使ってインストールしたりできる機能です。 全体的にPEAR 1.4を機にpearコマンドによるパッケージ管理に本腰を入れてるっぽいです。
おれもPEARは手動アップロード派(ソフト毎にPEARを持つ派)ですが、ちょっと試してみようかな。PEAR 1.4リリース後、即座にSeasar-php MLではS2Container.PHP5、S2Dao.PHP5、MapleをChannelサーバで配信しようという案が。 動きはやっ。

ドラクエ8終了~~~!いまさら終了ーーー!!! PS2とドラクエをセットで借りてゲーミングしてた(重複)んですがやっと終了。 面白かったですが、このような悪魔の機械、早く返さねば・・・。

ドラゴンクエストVIII 空と海と大地と呪われし姫君

さくらのレンタルサーバに移行が終わりました。 本当はデザイン変えたりしたかったんですが、面倒だったのでそのうちやります!

ふつうのLinuxプログラミング Linuxの仕組みから学べるgccプログラミングの王道

超面白くてためになりました。

ファイルシステム、プロセス、ストリームとLinuxを構成してる概念を説明した後でシステムコール、標準ライブラリ(glibc)と順を追って丁寧に説明してあります。

この本 → Code Readingって流れがすごく良さそうなので試してみます。(以前Code Reading挫折した)

Code Reading―オープンソースから学ぶプログラミングテクニック

昨日知ったMySQL豆知識。

  • テーブルに可変長カラムが1個でもあるとCHAR型はVARCHAR型に変わる。
  • 3文字以下のVARCHAR型はCHAR型に変わる。
mysql> create table address (
    ->     zip1 char(3),
    ->     zip2 char(4),
    ->     address text
    -> );
Query OK, 0 rows affected (0.06 sec)

mysql> show create table address;
+---------+-------------------------
| Table   | Create Table
+---------+-------------------------
| address | CREATE TABLE `address` (
  `zip1` char(3) default NULL,
  `zip2` varchar(4) default NULL,
  `address` text
) TYPE=MyISAM |
+---------+-------------------------
1 row in set (0.00 sec)

知らずに泣くなよ!

MySQL リファレンスマニュアル :: 6.5.3.1 カラムの暗黙的な変更

長さが 4 文字に満たない VARCHAR 型のカラムは CHAR 型に変更される。

テーブルのいずれかのカラムが可変長である場合は、結果的にそのレコード全体が可変長になる。したがって、テーブルに可変長のカラム(VARCHAR、TEXT、BLOB)が含まれている場合、長さが 3 文字を超す CHAR 型のカラムはいずれも VARCHAR 型カラムに変更される。