タグ付けされた質問 「firebird」

1
1行のテーブルの用語?
1の基数との関係を表す特定の用語はありますか? 特に、RDBMSの「特別な」1行テーブル、たとえばDUAL(Oracle)、SYSIBM.SYSDUMMY1(DB2、Derby)、RDB$DATABASE(Interbase、Firebird)について考えています。

2
複雑な基準を使用したインデックス付き読み取りの最小化
作業チケットのFirebird 2.5データベースを最適化しています。それらはそのように宣言されたテーブルに保存されます: CREATE TABLE TICKETS ( TICKET_ID id PRIMARY KEY, JOB_ID id, ACTION_ID id, STATUS str256 DEFAULT 'Pending' ); 通常、処理されておらずPendingステータスにある最初のチケットを見つけたいです。 私の処理ループは次のようになります: 最初のチケットを取得する場所 Pending チケットを使用してください。 チケットステータスの更新=> Complete 繰り返す。 派手なものは何もありません。このループの実行中にデータベースを監視している場合、各反復でインデックス付き読み取りの数が増えていることがわかります。パフォーマンスは、私が知ることができるほどひどく低下するようには見えませんが、私がテストしているマシンはかなり速いです。ただし、一部のユーザーから時間の経過とともにパフォーマンスが低下するという報告を受けました。 にインデックスがありますStatusが、それでもTicket_Id繰り返しごとに列をスキャンするようです。私は何かを見落としているように見えますが、何がわからないのですか。このようなものに対するインデックス付き読み取りの増加数は予想されていますか、それともインデックスが何らかの形で誤動作していますか? -コメントの編集- Firebirdでは、次のように行の取得を制限します。 Select First 1 Job_ID, Ticket_Id From Tickets Where Status = 'Pending' だから、「最初」と言うとき、私はそれをどこに限定レコードセットを要求しているだけですStatus = 'Pending'。

3
ascとdescの両方向にインデックスを作成する
過去数週間、私は古いFirebirdデータベースに対して激怒しています。このデータベースはさまざまな理由でひどいですが、私が気付いたことの1つは、すべてのテーブルのすべてのフィールドに2つのインデックスがあることです。それぞれに単一のセグメントがあり、1つはasc順番に、もう1つはdesc順番に。 同じインデックスセグメントを持つ2つのインデックスを有することに単一セグメントのインデックスのいずれかの利点があるが、1で-以外のすべてのテーブル内のすべてのフィールドのインデックスを持つのwtf'nessから、それは考えて私を得たdescと1でasc?何か得られることはありますか、または最新のDBMSは単純にascインデックスを使用し、最後から始めて、必要に応じて逆方向に動作しますか?
8 index  firebird 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.