ホームページ >バックエンド開発 >PHPチュートリアル >データベース結果をキャッシュして PHP のパフォーマンスを向上させる (3)_PHP チュートリアル
既存の登録へのテーブルの追加
前のセクションでは、変更通知サービスを使用して、登録オブジェクト(上記の例ではORDERSテーブル)が変更されたときにデータベース
に通知させる方法を示しました。ただし、パフォーマンスの観点から、クライアント アプリケーションは、ORDERS テーブル自体のクエリ結果セットではなく、ORDER_ITEMS テーブルをキャッシュすることを好む場合があります。これは、注文にアクセスするたびに ORDERS テーブルから 1 行だけを取得する必要があるためですが、複数の行を取得する必要があるためです。同時に ORDER_ITEMS
テーブルから取得する必要があります。実際には、注文には数十、場合によっては数百の項目が含まれる場合があります。
ORDERS テーブルに対してクエリをすでに登録しているため、
ORDER_ITEMS テーブルに対してクエリを登録するために別の登録を作成する必要はありません。代わりに、既存の登録を使用できます。これを行うには、まず既存の登録の ID を取得する必要があります。この
ジョブ を達成するには、次のクエリを実行できます:
SELECT regid, table_name FROM user_change_notification_regs;結果は次のようになります:
REGID TABLE_NAME <br>----- -------------- <br>241 OE.ORDERS <br>登録 ID を取得したら、 DBMS_CHANGE_NOTIFICATION.ENABLE_REG
DECLARE <br>ord_id NUMBER; <br>BEGIN <br>DBMS_CHANGE_NOTIFICATION.ENABLE_REG(241); <br>SELECT order_id INTO ord_id FROM order_items WHERE ROWNUM < 2; <br>DBMS_CHANGE_NOTIFICATION.REG_END; <br>END; <br>/ <br>次に、リスト
CREATE TYPE rdesc_tab AS TABLE OF SYS.CHNF$_RDESC;次のコードを挿入します。
<br> <p align="left"></p><div style="display:none;">http://www.bkjia.com/PHPjc/631000.html<span id="url" itemprop="url"></span>www.bkjia.com<span id="indexUrl" itemprop="indexUrl"></span>true<span id="isOriginal" itemprop="isOriginal"></span>http://www.bkjia.com/PHPjc/631000.html<span id="isBasedOnUrl" itemprop="isBasedOnUrl"></span>技術記事<span id="genre" itemprop="genre"></span>既存の登録へのテーブルの追加 前のセクションでは、変更通知サービスを使用して、登録オブジェクト (上の例では ORDERS テーブル) が変更されたときにデータベースに通知させる方法を示しました。でも…<span id="description" itemprop="description"></span> </div>から <div class="art_confoot"></div>