MySQL

DB

[MySQL]MySQLでパーティショニングを使う場合の例

MySQLでパーティショニングを使う場合の例 #既存のテーブルにパーティションを作成 ALTER TABLE table_name PARTITION BY RANGE (id) ( PARTITION 1000000_table_n...
MySQL

[mysql]パーティショニングの使いどころ

mysqlにはパーティショニングという大変便利な機能がある。 これは、あるカラムの条件をキーにしてテーブルを分割して、検索効率を上げる便利な機能である。 パーティショニングとこんなに早くなる!というメリットを書いてあるブログはたくさ...
CakePHP

[CakePHP1.2]id以外のカラムでアソシエーション

id以外のカラムでアソシエーションしたい場合。 こんな感じで一時的にprimaryKeyを変更する。 $this->{model}->primaryKey->='hoge_id'; 使い終わったら戻しておきましょう。 ...
CakePHP

[cakephp1.2]validatesチェック後にデータを読み込むとエラーメッセージがリセットされる

$this->{model}->set($this->data); $this->{model}->validates(); $this->{model}->read(null,1); などとして、ヴァリデーションチェック後に読み込みを行...
DB

[MySQL]DBの高速重複チェック

DBにデータを入れる際に、同一データがないかどうかチェックをしなければならない場合。 単純に、同じ名前の人がいるか?というようなものだったら単純にselect文を発行してチェックすればよい。 (まぁ、名前の漢字が違うとか、電話番号のフォーマ...
DB

[MySql]1016: Can’t open file: ‘./~/~.frm’ (errno: 24) エラーの対処法

MySqlでパーティションテーブルを設定しようとしたら以下のようなエラーメッセージが出てしまった。 1016: Can't open file: './~/~.frm' (errno: 24) どうも、mysqlが同時に開くことができる...
CakePHP

[CakePHP2.x]レプリケーション環境での保存先変更

レプリケーション環境下でマスター、スレーブ環境の切り替えを 行うAPI 設定 database.phpにマスターとスレーブの接続設定を書く ルールはスレーブ用の設定名の後ろに_master を付けた マスター用の設定を記述する 例) $d...
CakePHP

[CakePHP2.x]DebugKitとキャッシュのPermission denied問題について

CakePHP2.xのあるバージョンからやたらとキャッシュに関する問題が多発しているように思われます。 対処法としては、以下の2ファイルにマスクの設定を追記してあげるのが良いようです。 //app/Config/core.php Cache...
CakePHP

[cakephp2]アプリケーションを複数設置してAPCを用いている場合の注意

意外と気が付かない点。 APCをつかってcakephp2のアプリケーションを複数サーバーに設置している場合。 設定を一部ダブらないようにした方がいいようです。 core.php //APCを使う場合の設定例 Configure::write...
CakePHP

[cakephp2.x]セッションの保存先をDBするときにハマった件

表題の件。 cakephp2でセッションの保存先をDBにする場合。 core.phpでSessionの設定を下記に変更して Configure::write('Session', array( //'defaults' => 'php' ...
CakePHP

[cakephp2]modelのソートでrand()を使う場合の注意

たとえば、ランダムにデータを取得したい場合。 $this->(model)->find('list',array('order'=>array('rand()'))); とするとSQLでは ... rand() ASC ... などとなって...
CakePHP

[cakephp2.x]pagenateのカウントがおかしい場合。

pagenateのfiledsでDESCENTやgrop byを使うとカウントがおかしくなってしまう場合。 AppModel.phpに以下でpaginateCount()関数をオーバーライドすればいい。 function paginat...
CakePHP

[CakePHP1.2]Cakeでレプリケーションを使う場合

config/database.phpにマスター、スレーブのdb接続設定を以下のように追加する。 例 $default=array(DB設定); //スレーブ $default_master=array(DB設定); //マスター sa...
CakePHP

[CakePHP2.x]modelの連想配列にモデル名が入ってこない件

CakePHP2.x系+CentOS6系の組み合わせだと、なぜかmodelの連想配列にモデル名が入ってこない場合があるようです。 どうもPDO.MySQLとMySQLの組み合わせで、あるAPIでテーブル名がうまく取得できない場合があるため、...
CakePHP

[CakePHP1.2]モデルのテーブル名を動的に切り替える

モデルで使用しているテーブル名を動的に切り替えるメソッド $this->Model->setSource(table_name); マージテーブルなどで年代別に複数のテーブルに分割している場合などで、特定のテーブルのデータを取得したいとき...
CakePHP

[CakePHP]NULLデータをコミットする

リストボックスなどで未選択の場合にデータとしてNULLを設定したい場合、空白のデータがなぜか"0"で保存されてしまいます。 この場合、modelのbeforeSave()メソッドで以下のような処理を行えば良い。 function befo...
タイトルとURLをコピーしました