sql >> データベース >  >> RDS >> Sqlserver

SQL Server、テーブルをキューとして使用

    非プーリングブロッキングデキューを実現する唯一の方法は、 WAITFOR (RECEIVE) 。これは、すべてのオーバーヘッドが追加されたServiceBrokerキューを意味します。

    通常のテーブルをキューとして使用している場合 非ポーリングブロッキングを実現することはできません。デキュー操作を要求してキューをポーリングする必要があります。何も返されない場合は、スリープして後で再試行してください。

    ここでAndomarに同意できないのではないかと思います。彼の答えは一般的な質問として機能しますが、「テーブルに行はありますか?」キューイングに関しては、エンキュー/デキューのオーバーラップというビジーな性質のため、このような行のチェックは、負荷がかかった状態で(ほぼ)保証されたデッドロックです。テーブルをキューとして使用する場合は、常に基本的なエンキュー/デキュー操作に固執する必要があり、凝ったものを試さないでください。



    1. RowGenv3はデータベーステストデータの生成を自動化します

    2. MySQLTEXTデータ型のストレージサイズを理解する

    3. DATE型列のデフォルト値を時間部分のない現在の日付に設定しますか?

    4. 管理者でデータベースを管理する方法