ホームページ > バックエンド開発 > PHPチュートリアル > Laravel 5.2 では、Eloquent ORM の代わりに DB ファサードを使用すると、どの程度パフォーマンスが向上しますか?

Laravel 5.2 では、Eloquent ORM の代わりに DB ファサードを使用すると、どの程度パフォーマンスが向上しますか?

WBOY
リリース: 2016-07-06 13:52:19
オリジナル
1389 人が閲覧しました

Laravel シリーズ入門チュートリアル (1) の 2016 年版を参照してください。ここに一段落があります:

Eloquent は Laravel の ORM であり、間違いなく Laravel システムの中で最も強力な場所です。元の Laravel 作者が最初のバージョンを開発していたとき、Eloquent を思いつくのに 3 分の 1 の時間がかかりました。もちろん、「このスキルを練習したい場合は、まず宮殿に行かなければなりません。」 Eloquent は Laravel で最も遅い場所でもあり、今のところ解決できません。 (ルーティング、自動読み込み、分散した構成、ビューによって引き起こされるパフォーマンスの問題は、キャッシュによってほぼ完全に解決されます)

これは本当ですか? Eloquent ORMを除いて、キャッシュ(redisなど)を使用するとLaravelのパフォーマンスの問題を解決できますか?
Eloquent ORM の代わりに DB ファサードを使用する場合、モデルを作成する必要はありませんか?つまりMVCがVCになったということでしょうか?

返信内容:

Laravel シリーズ入門チュートリアル (1) の 2016 年版を参照してください。ここに一段落があります:

Eloquent は Laravel の ORM であり、間違いなく Laravel システムの中で最も強力な場所です。元の Laravel 作者が最初のバージョンを開発していたとき、Eloquent を思いつくのに 3 分の 1 の時間がかかりました。もちろん、「このスキルを練習したい場合は、まず宮殿に行かなければなりません。」Eloquent は Laravel で最も遅い場所でもあり、今のところ解決できません。 (ルーティング、自動読み込み、分散した構成、ビューによって引き起こされるパフォーマンスの問題は、キャッシュによってほぼ完全に解決されます)

これは本当ですか? Eloquent ORMを除いて、キャッシュ(redisなど)を使用するとLaravelのパフォーマンスの問題を解決できますか?
Eloquent ORM の代わりに DB ファサードを使用する場合、モデルを作成する必要はありませんか?つまりMVCがVCになったということでしょうか?

まず第一に、Laravel の多くのドキュメントは、上記の段落、Eloquent、およびその他の <code>PHP フレームワーク ORM はすべて同様のフレーバーを持っていますが、特に素晴らしい点はありません。さらに、ORM の開発にはかなりの時間がかかります。主な理由は、ORM のロジックが他のコンポーネントよりもはるかに複雑であるためですが、どのくらいの時間がかかるかはわかりません。移動には時間がかかります...Laravel的很多文档都喜欢过度扩张,例如上面这段,Eloquent和其他PHP框架中的ORM都是相似的味道,没有什么特别牛的地方。另外开发ORM确实花时间不少,主要是因为ORM中逻辑相对其他组件复杂很多,但你不能说花时间多久感天动地吧……
其次,ORM不等于Model,没有ORM一样可以做Model,例如我的框架Beaver(https://github.com/funcuter/beaver)中是设计了Model的,但至今没上ORM(如上面说的,ORM好用,但是性能差,我性能差的东西比较反感)。我设计中是Model直接操作DB,绕过ORM 次に、ORMModel と等しくありません。ORM がなくても Model を作成できます。 code> の場合、たとえば、私のフレームワーク Beaver (https://github.com/funcuter/beaver) は Model を設計しましたが、まだ には組み込まれていません。 >ORM (前述したように、ORM は使いやすいですが、パフォーマンスが悪いです。パフォーマンスが悪いものは嫌いです)。私の設計では、ModelORM 層をバイパスして DB を直接操作しますが、通常の操作は引き続き実現できます。

Model は、分割した SQL クエリのモジュールのセットに似ています。したがって、このように理解すると、初期の頃、SQL ステートメントがページに直接記述されていたのと同じように、実際には M を使用するかどうかはユーザーの選択になります。パフォーマンスをそれほど重視する場合は、前述のように DB を直接使用してネイティブ SQL を実行することもできます。

それは Laravel の設計思想を改善するものではなく、それは単に PHP が実際に設計パターンを使用できることを証明するためのものです。実際、デザインパターンに関しては、zf の方が強いです
Laravel 5.2 では、Eloquent ORM の代わりに DB ファサードを使用すると、どの程度パフォーマンスが向上しますか?
技術的な問題について議論するためです。

https://phphub.org/topics/1396 異なるフレームワークで構成された同じマシンの測定データ


Laravel 5.2 では、Eloquent ORM の代わりに DB ファサードを使用すると、どの程度パフォーマンスが向上しますか?

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート