最初は無償データベースにてライセンス差額分の初期導入コストをカットしておいて、その差額を他のサービスに振り向けたり値引きに使い、段階的な非常に大規模になってきたなあと思ったら MySQL や PostgreSQL のチューンや Oracle、MS SQL Server への乗り換えを「ライセンスのコストやサポートに関するリスク、今後のメンテナンスのコスト」を含めて判断する、というご時世らしいですね。「景気が低迷する中でもユーザー企業はIT投資を
どうも、IN 句に弱いようです、MS SQL Server7 は。
WHERE a IN (SELECT a FROM table1 WHERE ....)
OR a IN (SELECT a FROM table2 WHERE ....)
OR a IN (SELECT a FROM table3 WHERE ....) OR a IN (SELECT a FROM table4 WHERE ....)
OR a IN (SELECT a FROM table5 WHERE ....)
なんてのがあると、各 table に合致する要素が一つづつでも、あっさりこけてくれるので、頭が痛かったりします。
ちなみに、EXISTS に置き換えても駄目。
他には、 WHERE NOT b IN (SELECT b FROM table6 WHERE ....)
というのも、重いですね。これは、仕方がないかもしれませんが。
フットワーク (スコア:1)
フットワークが軽いというのと、何よりもフリーというのが
大きいのでしょうね。重いくせに高い導入費用がかかり、
しかも不安定なRDBが以下に多いかということでしょう。
何も分からないSEがサポート漬けになって利
初期段階の投資費用を抑えるのに有効? (スコア:2, 参考になる)
最初は無償データベースにてライセンス差額分の初期導入コストをカットしておいて、その差額を他のサービスに振り向けたり値引きに使い、段階的な非常に大規模になってきたなあと思ったら MySQL や PostgreSQL のチューンや Oracle、MS SQL Server への乗り換えを「ライセンスのコストやサポートに関するリスク、今後のメンテナンスのコスト」を含めて判断する、というご時世らしいですね。「景気が低迷する中でもユーザー企業はIT投資を
Microsoft のおかげ? (スコア:1)
そして百家争鳴のデータベース市場で、ODBC の旗を振ったのは、、、どこの会社でしたっけ?
コンタミは発見の母
Re:Microsoft のおかげ? (スコア:2, 参考になる)
ソースの互換性が取れていればいい案件ばかりやってたせいもあるけれど、ODBCってあんまり使わないような気も。言語サイドが提供するミドルウェアに比べると、やはり1枚余計なレイヤがかぶるような気がして。
乗り換えの簡便性に貢献しているというと、やはりSQLじゃないでしょうか。
Re:Microsoft のおかげ? (スコア:1)
SQL 書ける人間なら COBOL 書ける人間並みに その辺に転がってますから色々と コキ使い^H^H^H^Hやりやすいです。
# でも弊社の若手は SQL を知らない。
# 未だ ISAM が幅をきかす職場だから... (T_T)
Re:Microsoft のおかげ? (スコア:1)
副問い合わせすらほとんど使ったことないので深奥が伺いしれない。
-- wanna be the biggest dreamer
Re:Microsoft のおかげ? (スコア:1)
かなーり、複雑怪奇なSQLがいっぱいです。
全部マスタする必要はないでしょうけど、
テーブルが二桁数あるクエリとか、
副問い合わせが5個とか、
そういうのは業務でよく出てくるとおもいますが・・・
Re:Microsoft のおかげ? (スコア:2, 参考になる)
で、MS SQL Server 7.0 があっさりギブアップしてくれるので、困ってたりします。
DB 毎の「癖」を把握して、うまく対応しないと、複雑な SQL はきちんと動かないことも実感できますね。
たかだか、WHERE に IN を並べただけで、なんで落ちるんだぁ? > MS SQL Server 7
Re:Microsoft のおかげ? (スコア:1)
よろしければ実例を見せていただけるとありがたいのですが。
Re:Microsoft のおかげ? (スコア:0)
INに該当する項目が大量にあってメモリ不足とかになってるってオチでは?
書き方が悪いんじゃないかと...
MS SQL Server 7 の弱点? (スコア:1)
WHERE a IN (SELECT a FROM table1 WHERE ....)
OR a IN (SELECT a FROM table2 WHERE ....)
OR a IN (SELECT a FROM table3 WHERE ....)
OR a IN (SELECT a FROM table4 WHERE ....)
OR a IN (SELECT a FROM table5 WHERE ....)
なんてのがあると、各 table に合致する要素が一つづつでも、あっさりこけてくれるので、頭が痛かったりします。
ちなみに、EXISTS に置き換えても駄目。
他には、
WHERE NOT b IN (SELECT b FROM table6 WHERE ....)
というのも、重いですね。これは、仕方がないかもしれませんが。
せめて、2000 では、改良されていることを祈ろう。
Re:MS SQL Server 7 の弱点? (スコア:0)
Re:Microsoft のおかげ? (スコア:1)
Re:MS SQL Server 7 の弱点? (スコア:0)