0

これは、この質問のサーバー側 SQL ライブラリの php バージョンです。

SQL を完全にサーバー側のロジックに分解できるライブラリはありますか?

例として、この基本的なクエリを考えてみましょう。これは、がではないと仮定して、を 2 に分割するSELECT table1column1, table2column1 FROM table1, table2 WHERE table1.id = 1 AND table2.table1id = table1.id;よりも 5 倍遅くなります。SELECTSELECTSELECTPRIMARYtable2.table1idPRIMARY

この場合、まさにそれを行い、単一のクエリを2つに分割するライブラリが必要です。必要なものを理解するために sql を解析する必要はありませんが、おそらくこの形式のようなものが最適でしょうbasicJoin($table1columnsList, $table2columnsList, $table1name, $table2name, $table1id, $table2table1idColumnName)

この関数は

  1. SELECT( )table1に基づいて配列に指定された列$table1idPRIMARY
  2. SELECTすべてのID table2( ) とを配列に入れ、適切なIDを見つけますtable2PRIMARYtable1idtable2
  3. 上記のtable2ID を配列 (または配列)に指定されSELECTた列に使用しますtable2table1

PHP でロジックを処理しても、処理ラグと処理ラグ スパイクが大幅に減少しただけですが、このロジックをすべて書き出すのは面倒です。

すでに存在しますか?もしそうなら、どこですか?

よろしくお願いします!

4

1 に答える 1

1

OOPに興味がある場合は、Propelがあります-http ://propelorm.org/これはすべてのロジックを処理し、and 、、、のようなメソッドをjoinWith()提供getThis()setThat()ますsave()

Propelはクエリを分解するため、個別に保存できる複数のオブジェクトを配信できるようです。

于 2013-02-10T19:45:30.333 に答える