Oracle>>>>>>SQLServer
小学校の時こいつ学校のトイレでウンコしたんだぜ、みたいな話がはじまりましたか?w 結局はOSは何?って事? >>128 Hi-DB・・・ 何か困難な事をするたびにSQLServerだと必ずこける。 SQLServerが抱える大問題点 1.ディスク障害発生時にコミット時点に戻す事が不可 2.コミットされてないデータを他セッションが参照可能 3.ロックエスカレーション 4.可溶性を保ったままスケーラビティの拡大が困難 5・フルテキスト検索が単語単位のみ 6.オンライン上でのインデックスの再構築が不可 DBMSで必要不可欠なACID特性に欠けてるのは大きな問題だろ? 具体的に言うと、上記2.は独立性(Isolation)に欠けるんだよ。 ACID特性が備わって無いDBを、漏れは認めない。 大規模データベースでSQLServerを使うなんて自殺行為だと思う。 まだ色々と文句を言いたいけど、上に列挙したのは大規模DBを作成する上で大問題になる部分。 SQLServer2000 と Oracle9i を比較して、マイ糞ソフト側は 「2004年以降はSQLServerの方が不具合が少ない」 とかセキセイインコのように連呼してるけど、先発のSQLServerの方が不具合を出し切るのは早いに決まってるだろうに。 あと何で2004年以降なん?それ以前はどうなんだよ?w それに機能や規模で言えばOracleの方が圧倒的に大きいから、単純に不具合数でカウントするのは横暴だろうに。 何というか他社のDBを必死に叩きまくってるマイ糞ソフトに好感は持てん。 スレ違いスマン。 ああ、>>138 で言ってるのは Oracle9i と SQLServer2000 の比較ね。 http://www.microsoft.com/japan/sql/facts/compare/01.mspx 上のサイトで、SQLServer2000 と Oracle10g のセキュリティ警告の数が示されるけど、 比べるのならOracle9iとにしろよww Oracle10g は新製品なんだから、セキュリティ警告が多いに決まってんだろ。 そもそもベンチマークなんて実施した会社に有利になるに決まってるんだから いちいち反応すんなよ、と言いたい。 まぁFUDに嫌悪感があるのはわかるけど。 FUDだっけ >>145 FUDについてググってみた。 なるほどねぇ・・・ でも逆に少しでも知識ある奴が >>143 の記事を見たら 「マイクロソフトってバカ?」 となるけどな。 機能比較して「ウチの方がすげぇ」なんてやって1番になった商品ってナイヨなぁ・・ 開発側としてはSQLServerを使いたいわけだが 客が馬鹿のひとつおぼえでOracle、Oracleしか言わない >>148 どうしてSQLServerを使いたいの? 俺様が得意だから、とかそういう理由だろう。 SIerが得意な奴を使わせた方が後々良いと思うけど、 客にしたら、好きなの選びたいんだろうなぁ。 で、客がOracleって言うからってSQLServerか。 ど っ ち も ど っ ち だ な>>148 >2.コミットされてないデータを他セッションが参照可能 これマジすか? Oracle 10g の必要システム要件を見たが・・・絶句。 本当にこんな肥大化したDBを好き好んでみんな使ってるの? 10gは大規模システム向けか?(当方は相当素人です) うんざりだ・・・ DBのメンテが本業じゃない! 8×8÷(8+8)=4 4×3×2×1=24 24÷2=12 システム要件と肥大化とうんざりすることとDBメンテが本業じゃないことはなんか関係あんのか? ちっちゃい案件にoracleやDB2を使ってもあんまメリットは無い。 MSDEかMS SQLServerにでもしとけ。…ってもう最初から手遅れなのかな 俺さまようチラ裏。 Oracle実装済み/SQLServerは2005から実装の機能 ・行バージョン管理による読み取り一貫性 ・MARS(複数結果セットの同時オープン) Oracle実装済み/SQLServerでは未実装の機能 ・自律型トランザクション SQLServer の糞なところ。 例えば、あるセッションAが レコードaのみを更新処理を行ってる最中に、 別のセッションBがレコードbのみを更新しようとしてたとする。 両セッションは異なるレコードを見てるのだから、同時処理が出来るように見える。 ところがどっこい違うんだよな。 セッションBが更新する時に、レコードbを検索するために全件検索を行おうとする。 ところがセッションAにてレコードaが排他ロックを掛けたために、レコードaの内容を読み取れずに待ち状態になってしまうんだよ。 つまりインデックスによる全件検索を回避しない限り、同時処理は不可能ということ。 このことをどれくらいの人が知ってるだろうな。 変更したままトランザクションを生かしたままにしてる運用の場合は、見事に嵌るよ。 まあ、昔のSQLServerを知ってれば、今の奴なんて知らないだろ? 4.21とか6.0、6.5を使ったことある人は、二度と選択肢にすらならないから。w なもんで比較できません。DBMSとして認識してないから。 >163 MS SQLServerって、6.5以前と7.0以降はまったく別物でしょう? 7.0って災baseからの移植でしょ(正式じゃないけど) 開発者ごそっと抜き取ったらしい(さすが金持ち会社) まぁ、いいもの作ってくれれば文句ないけど... DBなんてものは氷山の一角に過ぎない。 そもそもOracle>>>>>SQL Serverとか言う時点でナンセンス。 DBだけで動くシステムなんて世の中には存在しませんよ。 つまりDBとOSが融合しているOS/400が最強って事でFA >>168 プログラムなんて氷山の一角、OSなんて氷山の一角、ハードなんて・・・・・。 お偉いさんにはそれがわからんとです。 Accessで簡単なDB作れる程度なんですけど 3,4台から1つのMDBファイルをリンクで接続してます。 とりあえず運用っぽいことは出来てますが、さすがに 動作が重いので、StepUpしたいのですが・・・ OracleとSqlServerどっちが良いですか? をまいにゃ無理だという答以外で、おねがいします。 >>171 MDB入れているパソコンをグレードアップする。 それでも遅いならSQLServerに換える。 しかし、LANが10BASEとか100BASEだとあんま意味ないとオモ。 1000BASE環境じゃないなら、そこからはじめれ。 正直、パソコンやソフトをあーだこーだするよりも、 遥かに高い効果がえられまつ。 >>138 >1.ディスク障害発生時にコミット時点に戻す事が不可 >2.コミットされてないデータを他セッションが参照可能 無知?こんなの設定の問題だろ。 まず1は、SQLServerの機能以前にRaidされてりゃ問題ないだろ。 2はトランザクション分離レベルの問題だろ。レベルによってはPhantomが発生するけどこれはバグでもなんでもない、設定の問題。 >まず1は、SQLServerの機能以前にRaidされてりゃ問題ないだろ。 レベル低すぎwww RAIDがあればトランザクションリカバリは問題ない? w >>175 OracleがどうのSQLServerがこうの言う前に、基礎をちゃんと勉強しようなw >>138 3.ロックエスカレーション これ欠点か?無限に行ロックにリソース開放するのもどうかと・・。というか、ロックエスカレーションが発生するような設計するほうに問題があるんじゃ・・。 >>3 .ロックエスカレーション oracleで育った人間には欠点なのかもな。 突然関係ないはずのレコードまでロックされると思うんだろう。 SQLServerとかDB2は、エスカレーションしない設定もできたはず。 SYBASEは知らん。 つか、oracleが他のDBMSより大量にマシンリソースを投入しないとまともに動かない理由の一つはコレだろ。 漏れもロックエスカレーションは別におかしくともなんともないと思うが。 >5・フルテキスト検索が単語単位のみ ついこの間まで検索に正規表現も使えないOracle厨の言う台詞ではないな。 Oracleの行ロックフラグは行ヘッダにあるそうな。 だからロックエスカレーションする必要がそもそもないんだって。 あー、一個チューニングで決定的な違いがあった。 Oracle8から実装されてるファンクションベース索引なんかSQLsvrにはないでしょ。 計算列にindex作る必要性が生じたことなんてないけどねw 一見、画期的な機能のように見えて実際、必要性が薄い。そんなことばっかをSQLSvrにはできない とかほざいてるただ傲慢なOracle房。 >>183 行ヘッダが少し増えるくらい、なんか欠点になんのか? >行ヘッダが少し増えるくらい、なんか欠点になんのか? Accessな案件しかやった事のない厨の言いそうな台詞ですな。(w ねー、SQLServerのidentityプロパティみたくシーケンス番号をOracleで割り当てるにはシーケンスオブジェクト作成しないといけないの? そんなこと意味のないことやってないでこれやろうぜ ◇◆元祖MMORPGガディウスがなんと7日間無料◆◇ (無料期間はいつ登録しても7日間までだから絶対登録しておこう!!!!) 長い歴史を持つガディウスがなんと5周年記念につき七日間無料! とてもおくが深い対人戦!ノーペナルティのPK!とても使いやすいチャット! どこか懐かしい2Dなので古いパソコンでも動作!なんとメモリ64MでOK! 始めようと思った方や暇人は今すぐ公式からSTART!!! wiki http://lre.s165.xrea.com/gdwiki/ ↑ガディウスについて色々解説されてるよ! 初心者講座 http://f-a-i.s14.xrea.com/beginners/ ↑初心者はココを見よう!公式もここからいけるよ! 初心者用スレ http://game10.2ch.net/test/read.cgi/mmo/1165545550/ ↑解らないことがあったらここで聞こう!お兄さんが優しく教えてくれるよ! 国家対戦 http://big.freett.com/save/050121war80over.wmv ↑なんと200対200の大規模な国家対戦が可能!白熱の対戦をごらんあれ! SShttp://cyan.gazo-ch.net/bbs/17/img/200612/1122366.jpg http://cyan.gazo-ch.net/bbs/17/img/200612/1118907.jpg http://cyan.gazo-ch.net/bbs/17/img/200612/1110982.jpg ↑のおねえさんもとっても綺麗! おっぱい大きいね! SQLServer2000のストアドかトリガーから COMは呼び出せますか? サンプルソースみたいなのあるとうれしいのですが ダーティリードさせないために読み取りもさせないなんてな。。。 知らないだけかもしれないが 個人的にOracleと比べて、MS SQL Serverが不便なところ ・ロックエスカレーション >>回避の為に、ロック出来る回数を増やすのは 根本的な問題解決になる気がしない。 ・昇順INDEXが一つしか作れない事 >>一つのテーブルの複数のソートをスキップするために 利用できるINDEXは一つしかない。 ・読み取り一貫性を保証するためにはロックせざるを得ない事 >>大規模DBでこの仕様はちょっと。。。 ・内部のトレース情報をわかりやすく表示できない事 >>DBが判断するためのコストを人間が見ても意味ないっしょ。 それで早くなるんならDB側で判断できてると思う。 ・全件のスループットをあげるためのコスト判断が出来ない。 >>OracleにあるFirst rows、All rowsの区別がない。 ・スカラー副問い合わせがサポートされていない事 >>これは私の趣味で。。。 ・実行計画をさわれない。 >>パフォーマンスが悪くても機械に任せきりにしかなれない。 てな感じかな? 間違ってたらスマソ。 >>193 育った畑の違いとしか言えんが、藻前はOracleに染まりすぎてるだけだと思うが。 と言うかおかしい。 出先にて失礼。 >>194 、195 先日SQLServerで作業してて、 どうしても過去作業してたOracleと比較してしまってな。 比較にならずに板汚しスマヌ。 >>162 これって結構致命的だと思う。 SQLServer2005で解決だっけ? もう来年出るのか、SQLServer新バージョン 2005はWindows2008に対応させないつもりなんかな。 流石に前回同様パッチ対応ぐらいはするでしょ・・・・・するよね?(−−; ORACLEはSI Object Brouser があるかないかで、使いやすさが違うからなんともいえない。 Object Brouser があればOracle SQLServerのT-SQL しょぼすぎる PL/SQLと比べ物にならん ORACLEの開発ならSI オブジェクトブラウザー ↓社員乙 SI ObjectBrowserって、最新版からSQLの入力補完機能がついたけど、ANSI結合型のSQL文だと うまく補完しないんだよな〜〜 あと、ALL_TABLESとかはSYS.ALL_TABLESみたいに書かないと補完してくれない。 もうちょっと自動補完機能を改善してほしいでつ。 あとsql文のフォーマット機能も業務プロジェクトごとにルールが違うんで、フォーマット後の 書式を設定できるとうれしい。 うちにもオブジェクトブラウザぐらい作れるっていいはってるやつがいるが そいつのPGはいつもバグばっかなんだよな。 オブジェクトブラウザの価格考えたら自社ツール作る必要ないよ せいぜい新人教育のネタにするぐらい(そして使い物にならない) 最近、SQLServerの宣伝賑やかで 銀行の勘定系にも使われているようなのもあったけど このスレ見て オラクル検討することにすた。 よくわからないのでオラクルに詳しい人説明お願いします。 ttp://live27.2ch.net/test/read.cgi/ogame/1205857996/ Oracleばっかやってるヤツは他DBに来るとめちゃくちゃデタラメなSQL書くからのぅ SQLserverの行ロックってなんや? 検証したんか? したなら、テスト環境書かんかい。 SQLserverオタは必ずテスト結果も出さずに出来る出来るいいよる。 オラクルの行ロックは検証結果があっちこっちで書かれてるやろ。 検証しました。 該当ページに含まれるすべての行に行ロックが発生しました。 結論:SQLserverで行ロックはできません。 会社でOracle使ってるものですけど、ある時SQL Server教えてもらえる機会があって、教えてもらいながら ヨタヨタ使ってたんですけど、使ってたら select table-a ...... updete table-b set .... update table-c set .... go select table-b ..... とかやってたときに、table-bの更新間違えてたことに気づいて、まあいいや、と rollback したんですよ。そしたら、そのrollback効かなかったんですよ。友人に聞いたらgoしたらrollbackは 効かないんだとかなんとか、 本当なんですかね? commitしてないのにrollback効かないの?? 即時コミットモードがデフォルトでトランザクションを使いたければ begin transaction命令を使う必要がある。 >>220 なんと、SQL Serverは即時コミットモードとTransactionモードなんてのがあるのか、いや驚いた。 しかし、2つのモードをユーザーが意識しながら使い分けなきゃいけないなんて 使い難いだろ。 どっちか一方のモードしか使えなかったら、それはそれで文句言うだろ。 >>222 いや、即時コミットモードなどいらん。 まともなロックと読み取り一貫性があれば。 OracleのSQLインタープリタ(SQLPLUS)にはちょっとしたわながあって、 commitもrollbackもしないままEXITで終了させると、 commitされてしまう。 共有ロック方式の場合長時間ロックは厳禁だから即時コミットデフォなのは妥当な措置だな。 マルチバージョニングでも書き込み同士はロックがかかるから長時間ロックは避けたほうが いいと思うが、リード操作でロックフリーなのをアピールしたかったのだろう。 SQLServer2000はスナップショット分離レベルが無いから辛い… 更新済未コミットレコードは読む事さえ出来ない… >>213 217さんに聞きたいです(純粋に聞きたいだけです)。 SQLServerのロックエスカレーションの発生理由は、 大量の行ロックによるメモリ圧迫に対しての対策だとMS社サイトに書いてありました。 ※メモリ節約がより有効と判定された場合は、大量の行ロックを1個のテーブルロックにする Oracleは、どんなに行ロック件数が多くなってもそのまま? >>224 exitコマンド打った時にトランザクションが残ってるってメッセージも出ないプログラム設計がダメだな SQLSERVERの3大糞仕様 @ロックエスカレーション 5000行以上のレコードを一度に更新、或いはロックした場合に発生し、 行ロックがテーブルロックへ昇格する。 Aテーブルスキャンによる ロック待ち 対象テーブルの中でたた一件だけでもロックしているレコードがあると、 まったく関係ない行へのロックが獲得できない場合がある。 発生条件としては、キー、或いはインデックス情報だけでダイレクトに 対象データに到達できないSQLを発行した場合。 B実行プランキャッシュの使用判断基準 一度発行されたSQLの実行プランがキャッシュにある場合、 検索条件の値が異なる同様のSQLが発行されると、 明らかに非効率な検索になるにもかかわらず、強引にキャッシュされた プランを利用してしまい、いつまでも実行結果が返ってこないことがある。 SQL Server でロック エスカレーションを禁止するには、 以前のバージョン(SQL Server 2005 以前)では、トレース フラグ 1211 をセットします。 これでロック エスカレーションを禁止することができます。 SQL Server 2008 の場合は、LOCK ESCALATION オプションがサポートされたので、 テーブル単位でロック エスカレーションの禁止を行うことができます。 http://msdn.microsoft.com/ja-jp/library/ms188469.aspx [テーブルのプロパティ] ([全般] ページ) [ロック エスカレーション] DISABLE ほとんどの場合でロック エスカレーションを禁止します。 テーブルレベルのロックは完全には禁止されません。 たとえば、SERIALIZABLE 分離レベルでクラスタ化インデックスがないテーブルをスキャンしている場合は、 データベース エンジンでテーブル ロックを実行して、データの整合性を保護します。 >>229 Bに関しては、Oracleだって同じ現象が発生するじゃん プレースホルダ使った静的SQLならごく当たり前の動作だな。 値を埋め込んだ動的SQLで値の違うキャッシュを使用するなら逆にすごい。 NASDAQ SQL Server 2005 の展開によって、リアルタイムの取引照合とクエリを実現 http://www.microsoft.com/japan/showcase/nasdaq3.mspx 株式会社百五銀行 世界初。Windows Server 2003, Datacenter Edition とSQL Server 2005 Enterprise Edition をプラットフォームに、銀行の勘定系システムを再構築。 http://www.microsoft.com/japan/showcase/hyakugo.mspx SQLServer2005はSP2ぐらいまでクエリエンジンがバグだらけだったのに 金融系で使うとか正気の沙汰じゃないよ。 社内システムか、分析系システムならいいが‥ read.cgi ver 07.5.1 2024/04/28 Walang Kapalit ★ | Donguri System Team 5ちゃんねる