2014年06月30日
Firebird テキスト項目に入る数値でソートする
プライマリキーを varchar で定義しておいて、ジェネレータで自動連番を設定しているテーブルでソート順が乱れる現象が発生し、「あっ」と言ってしまう事案があった
本当はジェネレータで桁数が埋まるくらいの初期値をセットしておけば問題なかったのだが、うっかり忘れていたか、桁数を間違えていた可能性がある
テーブル定義
本来なら、この定義の後で以下のSQLを発行しておくべきであった
取りあえず、解決策はSQLの修正だが、CAST が使えることがわかった
パフォーマンスの低下がどの程度なのかまでは評価していないが、後で調べてみようと思う
月額900円(税抜)〜で大容量100GB〜・マルチドメイン無制限の共用サーバー
◆お名前.com レンタルサーバー
【キャンペーン情報】
今なら、初期費用&月額最大3ヶ月分無料!
【利用料金】
初期費用1,890円(税込)/月額料金945 円(税込)〜
【主な機能】
・サーバー容量:100 GB〜
・マルチドメイン設定:無制限
・データベース(MySQL):30個〜
・サブドメイン設定:無制限
・メールアカウント数:無制限
・メーリングリスト:最大50個5つまで作成可能
・高機能迷惑メールフィルター(オプション)
・高機能アクセス解析
・CGI / Perl / PHP5 / Ruby / Python / 対応
【アプリケーション】
・WordPress / Movable Type かんたんインストール
・PukiWiki/XOOPS Cube/phpBB/Joomla!/OpenPNE
【セキュリティ】
共用SSL/独自SSL(オプション)
【サポート】
24時間365日の安心電話サポート(無料)
詳細はこちら
本当はジェネレータで桁数が埋まるくらいの初期値をセットしておけば問題なかったのだが、うっかり忘れていたか、桁数を間違えていた可能性がある
テーブル定義
CREATE TABLE TAB_A
(
ID VARCHAR(10) NOT NULL PRIMARY KEY
)
本来なら、この定義の後で以下のSQLを発行しておくべきであった
SET GENERATOR GEN_AUTO_ID TO 1000000000
取りあえず、解決策はSQLの修正だが、CAST が使えることがわかった
SELECT * FROM TAB_A ORDER BY CAST(ID AS NUMERIC(10))
パフォーマンスの低下がどの程度なのかまでは評価していないが、後で調べてみようと思う
月額900円(税抜)〜で大容量100GB〜・マルチドメイン無制限の共用サーバー
◆お名前.com レンタルサーバー
【キャンペーン情報】
今なら、初期費用&月額最大3ヶ月分無料!
【利用料金】
初期費用1,890円(税込)/月額料金945 円(税込)〜
【主な機能】
・サーバー容量:100 GB〜
・マルチドメイン設定:無制限
・データベース(MySQL):30個〜
・サブドメイン設定:無制限
・メールアカウント数:無制限
・メーリングリスト:最大50個5つまで作成可能
・高機能迷惑メールフィルター(オプション)
・高機能アクセス解析
・CGI / Perl / PHP5 / Ruby / Python / 対応
【アプリケーション】
・WordPress / Movable Type かんたんインストール
・PukiWiki/XOOPS Cube/phpBB/Joomla!/OpenPNE
【セキュリティ】
共用SSL/独自SSL(オプション)
【サポート】
24時間365日の安心電話サポート(無料)
詳細はこちら
【このカテゴリーの最新記事】
-
no image
-
no image
-
no image
-
no image
-
no image
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
https://fanblogs.jp/tb/2543705
※ブログオーナーが承認したトラックバックのみ表示されます。
この記事へのトラックバック