2011/07/26

access2010 遅いのではないのか? -6-

まだまだ続いて
インデックスの張り方とかあーでもないこーでもないと確かめていて行き着いた結果。
'A
Set rs = dbs.OpenRecordset("select * from tbl01 WHERE Code = 1000 Order by FDate DESC;")
    
'B
Set rs = dbs.OpenRecordset("select * from tbl01 WHERE Code = 1000;")
rs.Sort = "FDate DESC"
Set rs = rs.OpenRecordset
んー、格段に安定している。
安定しない現象自体はOpenRecordsetでなくても発生するようで、テーブルをフィルタ&ソートしてもずずーんと遅くなることがある。クエリとして開いてもどどーんと不安定。これは直してもらわないとならんと思うのです。

AとBでPrivate Bytesが増減がまったく違うし。
別途得ているサジェスチョンだと、ACEのMaxBufferSizeを規定値:0から65536に変更してみるというのがあった。だが、メモリ不足エラーが頻繁に出る感じがあって、対策としてどうなんだろうって気がする。

0 件のコメント: