[FuelPHP]DB::query()を使って、SQL直書きでDBアクセスしたいnanoblog(ナノブログ)HomeWordPressJavaScriptC#読書メモ電子回路RSS[FuelPHP]DB::query()を使って、SQL直書きでDBアクセスしたい2016年8月27日FuelPHPでDBをアクセスしたい場合、FuelPHP標準でO/Rマッパや、Model_Crud、クエリビルダー、DB::query()メソッドなど、様々なアクセス方法が用意されています。簡単なプログラムを作る場合は、O/Rマッパ(ORMパッケージ)などを使ってもよいのですが、データのアクセスが多くなることが予測される場合、DBアクセスが抽象化された形での処理はパフォーマンスが低下する問題が後々出てきてしまいます。このようなリスクがある場合、SQLを直接かけるDB::query()メソッドを使用すると、抽象化によるオーバーヘッドもないし、DBサーバの実行計画を見ながら詳細なクエリのチューニングが行えます。(一方で、もちろん、最初にシステム構築する際の開発コストが増えますが...)今回は、DB::query()メソッドを使用したDBアクセスのサンプルを説明します。DBへの接続定義プログラム作成に先立ち、DBへの接続定義が必要です。開発環境の場合は、fuel/app/config/development/db.phpを編集します。);DBクラスを使用する場合、データは配列として一度に取得されます。結果が多くなる場合(10万行など)は、メモリ不足になってしまいます。このような場合、他のフレームワークが用意しているDBアクセスクラスだとfetch()といったメソッドで、カーソルから1行づつ取得できたりしますが、FuelPHPの場合はカーソルを使用したデータアクセスはありません。DBクラスを使って更新を行うこちらはデータの追加・更新・削除する場合のサンプルです。基本的にselectと同じですが、返される結果セットがないためas_array()は不要です。コメントをキャンセルメールアドレスが公開されることはありません。29お勧め書籍webアプリのセキュリティ対策の為に。