hatena
hatena
2023/11/07 (火) 21:13:27
Accessの内部のコードや処理に関しては原則公開されていないので、MSの中の人以外には分かりません。
前の回答のMSの公式のドキュメント以外の方法は、ユーザーが、特定の設計、特定のデータで試した結果、効果があったという報告でしかありません。
その速度もテーブル設計、クエリ設計、データ構成によって変わることは、いくらでもあります。
また、そのしくみはどうとかいう解説をしている方がいたとしても、それは推測でしかありません。
よって、WEB上で多数、報告されている改善方法をそのまま採用するのではなく、
実際のテーブルとデータと処理で、試してみて効果があればその方法を採用する、ということをたいていの開発者はしていると思います。
あえて推測するならば、
すずやんさんの回答のリンク先にもありますが、「値要求」と「空文字列の許可」の設定の組み合わせは4通りあります。
そのうち、「値要求 いいえ」「空文字列の許可 はい」の設定(既定の設定)にしておくとNullと空文字列の両方が存在しうることになります。
そうなると、Nullの場合と空文字列の場合の両方を考慮した設計(抽出条件など)をする必要があります。
面倒だし、速度的にも悪い方向性を持つことになります。
「Nullのみ存在」あるいは「空文字列のみ存在」の設計にしておけば処理がシンプルにできます。
そこで既定の「値要求 いいえ」「空文字列の許可 はい」から、「空文字列の許可 いいえ」にしてNullのみ存在するというシンプルな状態にしておいた方が速度的にいいということかもしれません。
私の場合は、逆に「値要求 いいえ」「空文字列の許可 はい」から、「値要求 はい」にして空文字列のみ存在するという設計をよくします。
通報 ...