プログラムテスト環境として利用していたVMのハードディスク容量が足りなくなったので、新たに作り直しました。前回は勉強のためとソースからコンパイルして作ったんですが、今回はyumを使った方法を試してみることに。 途中うまく […]
DB
MySQL複合INDEXの威力
予想以上の効果がでたので記事に残します。 DBの情報を元に統計を行うSQLとプログラムの性能改善で、複合INDEXを試してみました。 MySQLは、4.2です。 対象となったSQLは複数ありますが、そのうちほとんどは4つ […]
ZendでDbのMeta情報をキャッシュする
なんのこっちゃ?って感じですよね。僕もそう思います。 ZendFrameworkを利用する場合、Zend_Db_Table(Row、Rowsetも)を利用することが多いと思います。Zend_Db_Table_Abstra […]
UNIONの落とし穴
UNIONを利用してselectの結果を結合する場合、カラム名はUNION文の一番最初に書かれたSQL文のものが優先される。 その後のSQLの取得結果は、カラム名を見て同じものを同じ列に並べてくれるわけではなく、取得項目 […]
Mysqlのサブクエリとgroup、orderの優先度
Mysqlを使ってシステムを組んでいると、いろんな条件でデータを取得したい場面がでてくる。その中で、使用頻度が高いのがgroup by、order by、サブクエリの組み合わせ。 group byをすると、指定したキーで […]
MYSQLのUNIONとUNION ALLの違い
今やっているプログラムで使わざるを得なくなったUNION構文。 UNIONとUNION ALL何が違うんだろう?と調べてみました。 SQLをわかっている方向けに説明すると、行全体にdistinctをかけるのがUNIONで […]
Macにapacheとかインストール
先日、OSクリーンインストールすることになったMacの開発環境を作り直してる途中です。前は、ネットで調べながらapache、php、mysqlをソースからインストールしたんですが、今回は楽そうな記事を見つけたので、mac […]
Zend_Db_Tableを利用して複数DBサーバを参照する
DBサーバの負荷分散のために、select文を発行する先のDBを複数用意して運用することがあると思います。マスター(更新&参照)1台に、スレーブ(参照)1台とか。 今回、マスター1台、スレーブ1台の構成で、selectク […]
MySQLのViewを使った感想
100万件以上のデータを持つDBで、Viewテーブルを使える機会があったので使ってみました。結果としては残念なことに。Viewテーブルを利用するだけでは性能改善につながりません。 Viewテーブルについて調べているときに […]
Zend_Db_Tableでの勘違い
Zend Framework: Documentation Zend_Db_Table で UPDATE や DELETE の連鎖操作をエミュレートする場合は、 配列 $_dependentTables を親テーブルで宣 […]