名前 題名 ▼ Saykeさん > 「RDBなんてそんなもんですよ」と言われれば、返す言葉も無いですが。 > > DBのIndexに関して > > MSSQLの場合、データ抽出や検索が極端に遅い場合、しかたなくIndexを > 作成していたのですが、Indexを作成をしていないフィールドをORDER BY > 句に設定しても普通にデータが抽出できてしまいますので、そんなもん > だと思ってました。 > > しかしFBの場合、Indexを作成していないフィールドをORDER BY 句に > 記述した場合、極端にパフォーマンスが落ちてしまうのですね。 > MSSQLの場合、DataSetのActiveをTrueに設定すると間をおかずデータ > はOPenされますが、FBの場合は、3万行程度で7から8秒程度間をおい > てOpenされてしまう為、結果的にMSSQLに比して処理時間がかかって > しまいます。 > > フィールド A、B、Cがあって "ORDER BY A,B,C" が必要な場合は > "A,B,C" でIndexを作成すると即座にOpenできますが、次に"ORDER BY A" > で抽出する場合は予め"A"でもIndexを追加しておくか"ORDER BY A,B,C" > で流用して抽出するかって感じです。 > Indexって、必要なフィールドを個別に作成しておけば(Index A と > Index B と Index C)あとはDBMSが上手い事やってくれるもんだと > も思ってました。 > 実際は、ケースに応じてIndexが必要なんて・・・。 > 世の中そんなに甘くないって事ですね。 > > 「Index多すぎると更新に時間がかかる」って事だそうで、綿密に設計し > ないといけないのですね。 > 本当はこちらが正しくて、今まではMSSQLのお陰だったのかな。 > > GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link