SQL

BASE64変換の処理速度検証

  • このエントリーをはてなブックマークに追加

BASE64変換の処理速度検証を行いました。

BASE64エンコードBASE64デコードでそれぞれ実施しています。

BASE64変換の処理速度検証

前提条件

・100万件をデコード及びエンコード

・1カラムに200文字

・3回実施した平均値まで求める

BASE64エンコードSQL

SELECT
  COUNT(WK.BASE64_ENCODE)
FROM
(
  SELECT
    UTL_RAW.CAST_TO_VARCHAR2(
      UTL_ENCODE.BASE64_ENCODE(
        UTL_RAW.CAST_TO_RAW(X.DATA)
      )
    ) AS BASE64_ENCODE
  FROM
    TB_DATA_ENCODE X
) WK
;

BASE64デコードSQL

SELECT
  COUNT(WK.BASE64_DECODE)
FROM
(
  SELECT
    UTL_RAW.CAST_TO_VARCHAR2(
      UTL_ENCODE.BASE64_DECODE(
        UTL_RAW.CAST_TO_RAW(X.DATA)
      )
    ) AS BASE64_DECODE
  FROM
    TB_DATA_DECODE X
) WK
;

検証結果

回数/平均 BASE64エンコード BASE64デコード
1回目 66秒 65秒
2回目 67秒 65秒
3回目 68秒 78秒
平均 67秒 70秒

BASE64エンコード、BASE64デコードの処理速度はあまり変わりませんね。100万件で約70秒なのでまぁまぁな性能です。

ただ、億単位で変換するとなった場合は単純計算で100倍なので7,000秒となります。大量件数を変換する場合はちょっと悩ましいかもしれません。

  • このエントリーをはてなブックマークに追加

コメントを残す

*