l'essentiel est invisible pour les yeux

Monday, March 26, 2007

ActiveRecordには最適化する余地がたくさんある。

UIEJでもisamu136さんと盛り上がっていたのですが、ActiveRecordが富豪過ぎる件。えぐちさんも同じことを書いているのを発見。

ActiveRecordのupdateが富豪過ぎる件

  • AR#saveやAR#update_attributesはレコード数が増えるとインデクスの更新がバカにならない。
  • :stringでは無駄に可変長カラムを使用する。
  • replace構文の使用
  • デフォルト値をなるべく設定する。

複数のDB間の差異を埋めるための抽象化で犠牲になっている部分も多くて、個人的にはほぼMySQLのみを使用するのでMySQLに特化させるAR拡張が欲しいところ。

参考
MySQLの最適化