0

コンテストのテーブルがあり、各コンテストには請負業者と顧客があります (それらは別のテーブルに保存されています)。

請負業者および顧客とのすべての競争を表示する必要があります。mysql では、クエリを複雑にする join-s を介して行われます (実際のプロジェクトでは、これらの join-s I 5-6)。特にレコードが多い場合、クエリは長時間実行されます。

競技会の簡単なテーブルを作成し、データベース mysql でテーブルを接続せずにそのままにしておくと、請負業者と顧客が Redis で移動すると、データのサンプルのパフォーマンスが大幅に向上すると思いますか? PHP を使用してテンプレートにデータを組み立てて送信するにはどうすればよいですか? ありがとうございました!

EDIT:これはクエリの例です(dql、バージョン2の教義を使用しています):

SELECT t, o, p, c, w, m, f, parent, cparent, com, party FROM PortalTenderBundle:Tender t
                         LEFT JOIN t.organization o
                         LEFT JOIN o.parent parent
                         LEFT JOIN t.provision p
                         LEFT JOIN t.contractors c
                         LEFT JOIN c.parent cparent
                         LEFT JOIN t.contractors cf
                         LEFT JOIN t.winner w
                         LEFT JOIN t.manager m
                         LEFT JOIN t.files f
                         LEFT JOIN t.comments com
                         LEFT JOIN t.party party
                         LEFT JOIN t.party party_f
                         WHERE ((t.opening_at IS NULL) OR (t.opening_at IS NOT NULL AND t.opening_at <= CURRENT_TIMESTAMP()))
4

0 に答える 0