0

idのラベルを取得するための最良の方法は何ですか。

これが私が直面している問題です。

ID(subject_id、level_id、place_idなど)のみを含むテーブルがたくさんあります。

表示時に複雑なSQLクエリを実行せずにこれらのIDのラベルを表示するための最良の方法は何ですか(最低6つのIDを持つ)?

あまり良くない他のオプションは、get_label(id、table、lang)を呼び出すことです。

ただし、もちろん、各列の問題を確認できます(クエリの総数=列*行)

より良い解決策はありますか、それとも6つのテーブルで結合を行わずに立ち往生していますか?

それが助けになるなら私はコハナを使っています

これが私が持っているものです...

ここに画像の説明を入力してください

およびsubject_idのサブジェクトテーブル:

ここに画像の説明を入力してください

私はすべてのfield_idに対応するテーブルを持っています。

パフォーマンスの観点からは、結合を行うか、クエリを呼び出して必要なときに特定のラベルを取得する方が適切です。?

4

1 に答える 1

1

これには SQL を使用しますJOIN

SELECT t1.*, t2.subject_en, ...
FROM table1 t1
JOIN table2 t2 ON (t2.id = t1.subject_id)

JOIN のパフォーマンスははるかに優れています。最初のクエリから行を反復処理しながら SELECT を実行すると、データベース エンジンによって適切に最適化できるクエリが 1 つしかないため、n+1 個の個別のクエリが得られます。

于 2012-06-04T20:29:53.283 に答える