URLのパス名における先頭文字の分布
URL のパス部分,例えば "http://www.host.com/foo/bar.html" のうち "foo/bar" の部分について,その先頭文字(ここでは 'f')の分布を調べた.
(注)厳密なパス名には先頭のスラッシュが含まれており,"/foo/bar.html" が正しいが,話を簡単にするため「先頭のスラッシュ」を無視する.
目的は,URL を格納するデータベースにてパス部分を独立のテーブルに入れているのだが,index() をかました場合でもデータ数は増えてくるとデータ登録に時間がかかる(正確には文字列の比較に時間がかかっている).この問題を解消すべく,「パス名の先頭文字」に対応したテーブルを準備して,それらに格納してあげればよいのでは,と発想した.というわけで,事前調査として先頭文字の分布を調べた.
約30万件のパス名を調査した結果を以下に示す.フォーマットは「先頭文字 : 出現頻度 : 割合(%)」である.なお,頻度がゼロだった文字は省いてある.また,"NA" という文字はパス部分がない(http://www.host.com/ という形式の URL の場合)である.
NA : 1 : 3.2865655E-4 ! : 1 : 3.2865655E-4 % : 161 : 0.052913703 & : 1 : 3.2865655E-4 ( : 3 : 9.859697E-4 ) : 1 : 3.2865655E-4 * : 1 : 3.2865655E-4 - : 11 : 0.0036152222 . : 10 : 0.0032865654 / : 35 : 0.011502979 0 : 920 : 0.30236402 1 : 2527 : 0.8305151 2 : 25647 : 8.429055 3 : 448 : 0.14723814 4 : 246 : 0.08084951 5 : 338 : 0.11108591 6 : 231 : 0.075919665 7 : 183 : 0.06014415 8 : 226 : 0.07427638 9 : 228 : 0.07493369 ; : 1 : 3.2865655E-4 @ : 1 : 3.2865655E-4 A : 686 : 0.22545838 B : 444 : 0.14592351 C : 1116 : 0.36678073 D : 535 : 0.17583126 E : 396 : 0.130148 F : 302 : 0.09925428 G : 292 : 0.09596772 H : 471 : 0.15479723 I : 178 : 0.058500864 J : 249 : 0.081835486 K : 344 : 0.11305786 L : 332 : 0.10911398 M : 814 : 0.26752645 N : 2475 : 0.81342494 O : 89 : 0.029250432 P : 381 : 0.12521815 Q : 30 : 0.009859697 R : 384 : 0.12620412 S : 541 : 0.17780319 T : 555 : 0.18240438 U : 113 : 0.03713819 V : 48 : 0.015775515 W : 197 : 0.064745344 X : 8 : 0.0026292524 Y : 211 : 0.06934653 Z : 111 : 0.036480878 _ : 80 : 0.026292523 a : 44876 : 14.748791 b : 19538 : 6.421292 c : 10845 : 3.5642803 d : 11342 : 3.7276227 e : 9021 : 2.9648106 f : 7066 : 2.322287 g : 8156 : 2.6805227 h : 6731 : 2.2121873 i : 6818 : 2.2407804 j : 4591 : 1.5088623 k : 9267 : 3.0456603 l : 6094 : 2.0028331 m : 12518 : 4.114123 n : 26911 : 8.844476 o : 2439 : 0.80159336 p : 12973 : 4.2636614 q : 1160 : 0.3812416 r : 4530 : 1.4888141 s : 15958 : 5.2447014 t : 11780 : 3.8715742 u : 2834 : 0.93141264 v : 1192 : 0.39175862 w : 16362 : 5.3774786 x : 509 : 0.16728619 y : 2440 : 0.801922 z : 860 : 0.28264463 ~ : 4854 : 1.595299
'a' が14.7%,'n' が 8.8%,'n2 が 8.4%,'b' が 6.4%.
明らかに偏っている.