VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 2003/08/28(Thu) 19:28
投稿者なかむぅ
Eメール
URL
タイトルRe^5: 検索を早くしたい

> ところがJETの場合、MEMO型フィールドにIndexは利用できなかったりするのです。
> ……正確には、張れない事もないのですが、完全な効果は得られません。
> (無理に張っても、文字列の後半部分にはインデックスが働きません)

大変失礼しました!

当方、ASP-mdbでシステム開発をしています。
あまりMEMO型を使ったことがなかったので、見当違いなことを発言しすみません。


> そもそも、『WHERE 回答 like '*ListBox*'』のような部分検索においては、
> JETの"RushMore Technology"によるクエリー最適化が働きませんので、ほとんど意味はありません。

勉強不足でした。
LIKEではインデックスが使用されないんですね。
他DBでも同じなんでしょうか、、、


> 15分→20時間(泣)という結果になった事さえありますし。

やはり、よくある話なんですね(><


> もっとも、インデックスが有効に利用されるような設計でなければ、
> 意味はないですけれどね。フィールドに無意味にインデックスを張ったせいで、
> 今度は更新速度が低下してしまった、という話も聞きますし。

DB設計をする上で、しっかり考えなければいけない所ですよね。


> # 複雑なSQLでは、SQLが正しく最適化されているかどうかを検証するために、
> # レジストリの実行プランフラグを有効にして、showplan.outファイルの結果を確認したり、
> # DAOのISAMStatsメソッド や ADOのJET_SCHEMA_ISAMSTATSスキーマを利用して、
> # ディスクI/Oやロック頻度について調べてみると良いかもしれません。

これはJETの話なんでしょうか?
それとも、Access、SQL Server、、、

Oracle等ではSQLトレース?みたいな事を聞いたことがあるのですが、、、
博識な方はいろいろ御存知ですよね、感心しました。


neptuneさん、あまりお役に立てず申し訳ありませんが
頑張って下さいね!!


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -