行方向データから1カラムへの変換をcase文の中で実現するSQL Server用クエリー

kosukety blog

業務系システムのデータベースで、行方向に並んでいるデータを1カラムの文字列として取得したい場合がたまにある。しかも、それをcase文の中で実行できれば嬉しいことがある。case文の中にfetch nextなどは書けないので、あらかじめ本文実行前に別のクエリーでfetch nextで回して取得しておく方法もあるが、どうもスマートではない。

“行方向データから1カラムへの変換をcase文の中で実現するSQL Server用クエリー”の続きを読む

データベースレベルのページングをSQL Serverで実現する

kosukety blog

データベースのページング処理について、海外のサイトでは見かけるが日本語のサイトではあまりお目にかかれないので書いておこうと思う。

システムを構築していく上でデータの一覧を表示する必要がある場合、データベースから多量のデータを持ってくるのは効率が悪くてパフォーマンスの低下につながる。ページング機能を実装して絞り込んだ件数を表示するようにコーディングする必要がある。その際に、データベースから全件を取得してからプログラム上で絞り込むのは意味がない。ディスクアクセスが一番のボトルネックになり得るからだ。また、メモリーも圧迫してしまう。件数が多ければ表示するまでに時間がかかるので、ユーザーの評価はがた落ちである。データベースの段階で表示する件数分だけを取得するようにしたい。

“データベースレベルのページングをSQL Serverで実現する”の続きを読む