読者です 読者をやめる 読者になる 読者になる

DVD・ブルーレイをレビュー数でランキング表示するWebサービスを作った

DVD・ブルーレイをレビュー数でランキング表示するWebサービスDVDれび」を作りました。

http://laboone.net/dvd

2013-03-05 - 高知で働くひとの日記で「ぶくれび」を作ってから4ヶ月も経ってしまいました(汗
さくっと1、2週間ぐらいで作る予定でしたが、モチベーションの維持は難しい。。。

レビュー数が多い映画は良い映画が多いので、何か映画が見たいなってときにはこのサービスを使って探してもらえれば嬉しいです。

ちょっと技術的なメモ

「ぶくれび」はSQLServerを使ってますが、「DVDれび」はSQLiteを使ってます。*1
速度的には体感でわかるぐらいSQLServerを使っている「ぶくれび」のほうが速いです。*2
一覧出力に使っているSQL文は以下のとおり。*3
ページング用に一発のクエリで検索にヒットした件数の取得も行っています。(@PageNumber:何ページ目かを表す変数。@PageSize:1ページに表示する件数。)

SQLServer:

SELECT Top(@PageSize) * FROM
 (
	SELECT ROW_NUMBER() OVER (ORDER BY reviewCount DESC) RowId,
		   B.*,
		   Count(*) OVER() TotalRows
	FROM Book AS B
	WHERE B.genreId = @Genre
 ) A
WHERE A.RowId > ((@PageNumber-1)*@PageSize)

SQLite:

  SELECT B.*, (SELECT count(*) FROM Book WHERE genreId = @Genre) TotalRows
    FROM Book AS B
   WHERE B.genreId = @Genre
ORDER BY B.reviewCount DESC
   LIMIT @PageSize
  OFFSET ((@PageNumber-1)*@PageSize)

*1:借りているレンタルサーバSQLServerの容量が300MBまでしか使えないため、SQLiteを使うことにした。

*2:ちなみに他のサービスを開発予定なので、「ぶくれび」もそのうちSQLiteを使うように修正予定。

*3:ちょっと削ったので実際は少し異なる。