2015/09/02(Wed) 11:32:10 編集(投稿者)
> 全体をメモリ上に保持しきれないほど大きな表であっても、その索引であればメモリに保持できる可能性がある。 とありました。
長整数の 0 から 99,999,999 までの、最大 8桁の
整数の入った項目と、その値のチェックデジットを
計算した結果が入った 1桁の整数の入った2つの
項目を持つ、計算式も何もない整数値2つだけを
持つテーブルで ※即ち 100,000,000件のテーブル
索引も主キーも設定もなく表整理で 0% を指定した
表のサイズが 2,153,248KB
(CSVファイルだと 1,161,025KB のデータ)
それに、索引を作り表整理 0% で 4,308,128KB
それにさらに主キーを設定すると 6,702,752KB
数値項目の索引でも、結構なサイズとなります。
で、このぐらいのサイズの表になると、並べ替えで
索引有りだと一瞬ですが、索引が無いと何(十)分も
待たされます。
もちろん、索引を利用できるのは専有で絞り込み
など無い状態のみです。
そして、このサイズの表を扱うとき、メインメモリ
8GB あっても、桐は通常状態で 100MB で並べ替え
を行っている最中で、多くて 200 〜 300MB しか
使ってくれないようです。
それと、桐10で不思議な現象に出会いました。
並べ替えをやっている最中にメモリを 300MB 使って
30% まで進んだところで、急にメモリ使用量が
がくんと減り、また並べ替えを 0% から再実行する
場面がありました。初めての減少ですが何度か
確認しました。
あと、検索でも索引状態であれば、例えば 9999999
を検索する場合でも一瞬ですが、索引が無い状態
だと、このぐらいのサイズになると相当待たされ
ます。