試してみるもう1つのアイデアは、一般的な文字列を識別し、それらをビットマップで表すことです。たとえば、プロトコル(http、https、ftpなど)を表す2ビット、ドメインが「wwww」で始まるかどうかを示す別のビット、ドメインが「.com」、「」で終わるかどうかを示す2ビットがあります。 org」、「。edu」など。データを分析して、これらが意味をなすかどうか、そして識別できる他の一般的な文字列があるかどうかを確認する必要があります。
同じサイトへのURLが多数ある場合は、テーブルを2つの異なるURLに分割することも検討できます。一方はドメインを保持し、もう一方はドメイン相対パス(および存在する場合はクエリ文字列とフラグメントID)を含みます。 URLのID、ドメインのID、パスのIDを持つリンクテーブルがあり、元のURLテーブルを3つのテーブルを結合したビューに置き換えます。ドメインテーブルをドメインに制限する必要はありません。一般的なURLをできるだけ多く含めることができます(例:「http://stackoverflow.com/questions」)。これは、実装するのにそれほど多くのコードを必要とせず、それでも読み取り可能であるという利点があります。数値エンコーディングの方が効率的である可能性があります。理解したら、データを分析して、どちらがより理にかなっているのかを確認する必要があります。