よくこういった会話が交わされるのを見たことがあるでしょう。
でこういった書き込みもたまに見かけます。
| DB |
処理A |
処理B |
| A |
10 |
10 |
| B |
13 |
12 |
でもちょっと待って。その数字本当ですか?
前提は間違ってませんか?
SQLは最適化されてますか?
同じSQLで本当にいいんですか?
ベンチマークって言うのは実態を表す物のように捕らえられがちですが、実は容易に誘導可能です。
上の値を保障するのはほぼ不可能です。
またそのほかにもEULAも確認してください。
http://www.microsoft.com/japan/sql/evaluation/license/changeEULA.asp
私はOさんは詳しくないので、そこは誰かにフォローしてもらうとして、
引用開始----------------
e. ベンチマーク テスト
お客様は、マイクロソフトの事前の書面による承諾なくして、本サーバーソフトウェアまたは本クライアント ソフトウェアのベンチマーク テストの結果
を第三者に開示することはできません。
引用ここまで------------
SQLServerに関してはこのように明確に禁止されています。
.NetFrameworkに関しても同様の規定があります。
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\EULA.rtf
等を見てみてください。
Windows Server 2003の方は
c:\WINDOWS\system32\eula.txt
結局ベンチマークを発表しちゃいけないのかって言うとそのへんはPASSJのメンバを見習って各クライアントで再現可能なコードを提供する。
敵対製品と比べない。
といったあたりを守っていれば大丈夫でしょう。
さて一番最初のOとSどっちが速いのっていうのにたいしてどう答えましょうか。
速度はどこのベンダも最優先で取り組んでいたりするので、実際のところほとんど変わらないでしょう。
速度だけで言うときちんと設計すれば十分速いものになるし、SQL文1つだけでころっと変わります。
そんなことより開発しやすさ、維持しやすさ、Linux等へDBサーバを移行するか、などなどの周辺で開発費用がダウンすればそれだけいいものが出来たり、サーバの性能を上げられるわけですし、その辺のバランスで考えましょう。
#無難すぎ?
正直個人的にはSQLServer最高!!ですけどね。