技術メモ

メモ代わりに使います!

CakePHP2

SQL-INDEXを作成するとどうなる

①検索が早くなる②データの挿入、更新、削除が遅くなる⇒レコードに対して処理をするだけではなくインデックスに対しても処理しなくてはいけなくなるからそのため更新を頻繁に行うテーブルの場合は2~3個までにしておく

SQL-INDEXを作成したほうが良い場合と悪い場合

作成したほうが良い場合・大規模な表のある特定の行を頻繁に検索する・列の値が(ほぼ)一意的である・Where句の条件として頻繁に使用する列である作成しないほうが良い場合・列内の値の種類が少ない(性別など)・NULL値が多くNULLでない値を検索しない・表…

SQL-改善方法

①SELECT文で*を使わない②WHERE句の左側で算術演算や関数を指定しない⇒例えインデックスが定義されているカラムでもテーブル全体を走査してしまい、インデックスが効かなくなる③テーブルの別名を利用する⇒テーブルに別名を付けてフィールド名にはその別名をつ…

CakePHP2-クロージャについて

// 既に回答済みの場合 $recordExistsValidation = function($record) { if($record) { return; } }; $recordExistsValidation($this->TEnqueteSatisfaction->recordExists(array('booking_id' => $bookingId)));

CakePHP2-array_multisort

$sort = array(); foreach($out as $key=>$value){ $sort['available'][$key] = $value[MDL_T_COUPON_COURSES]['available']; $sort['sort'][$key] = $value[MDL_T_COUPONS]['sort']; $sort['today_available_active'][$key] = $value[MDL_T_SHOP_AVAILABILI…

CakePHP2-Modelで今までに発行したSQL確認方法

debug($this->getDataSource()->getlog());

CakePHP2-Validate方法

①モデルにvalidate記載 array( 'rule' => 'notEmpty', 'required' => true, 'message' => '「お名前」は必ず入力して下さい', ), 'email' => array( 'rule'=> 'email', 'required' => true, 'message' => '「メールアドレス」は正しく入力して下さい', ), 'comm…