VIDTAKER.COM

Q&A

相違点のMySQLおよびMS SQL


私はMicrosoft SQL Serverを使用していますASP.NETの開発者ですすべての私のデータベースが必要(両方の職場で個人的なプロジェクトの場合)。私はいくつか私の個人的なプロジェクトのためのLAMPスタックを試して検討。どのようないくつかのMySQLのとMS SQLの主な違いのですか?ストアドプロシージャMySQLの一般的な使用していますか?何かアドバイスやリソースを使用すると、スイッチで私を助けるためにお勧めします?人の両方の経験があるために、MySQLは、そこから欠落している機能は何ですか?



12 Replies

1)

あなたが気にして1つの事は、MSSQLとMySQLは、SQL構文を実装する方法ではかなり厳しいの違いです。

ここでいいの比較は、実装の別のSQL 。

たとえば、上の- nセクションで見てください。のMySQL:

SELECT age
FROM person
ORDER BY age ASC
LIMIT 1 OFFSET 2

でMSSQL(T - SQLの):

SELECT TOP 3 WITH TIES *
FROM person
ORDER BY age ASC

2)

私は1つの主要なものを注視すると思うのバージョンは、MySQL 5.0より前の再生、トリガ、およびストアドプロシージャを持っていなかったです。

詳細は、この説明はMySQL 5.0のダウンロードページ


3)

私は思うの主要な1つの監視することの手順ですそれにMySQLのバージョンは、前にストアドと、5.0しなかったが再生、トリガ。

誰もがMySQLにSQL Serverからデータベースの"ポート"で任意の良い経験がありますか?私は、MySQLが5.0までをサポートしていないビューのすべての時間 - それは驚きを教えてください。私は興味があると思いますとしてストアドプロシージャ、ビューを持つ人々の経験には、トリガ、制約、等MySQLの?


4)

誰もがMySQLのSQL Serverに"からのデータベースのポート"と良い経験を任意のですか?

これはかなり苦しいする必要があります!私は4.xから5.xおよび様々な文に彼らが使用されて動作しなくなるMySQLのバージョンを切り替えた。クエリアナライザは、""以前は次のパフォーマンスはもう期待どおりに動作しないチューニングされたようにステートメントを改善しました。

レッスンでは、500GBのMySQLデータベースを操作するから学んだこと:それは微妙なトピックと何が簡単です!


5)

MySQLは複数のデータベースの破損の問題がある可能性がある、それは自動的にそれらが発生するそれらを修正していません。私は、MSSQLとバージョン6.5以降と働いてきたデータベースの破損の問題をデータベースをオフラインに覚えていない。数回私は、MySQLとの生産環境では、我々が実行されるまで、データベース破損の問題がデータベース全体をオフラインにした働いてきた魔法の"私の破損インデックスを"コマンドラインからのものを修正してください。

mssqlにのトランザクションとジャーナリングは、システム、私の経験で、何でもハンドル - 電源再投入またはハードウェアの障害を含む - データベースの破損がなく、何かが自動的にそれを修正台無しになる場合。

これは私の経験をしており、私はこれは修正されているか我々が何か間違ったことだったと聞いてうれしいですね。

http://dev.mysql.com/doc/refman/6.0/en/corrupted-myisam-tables.html

http://www.google.com/search?q=site%3Abugs.mysql.com +インデックス+破損


6)

率直に言って、私は1つの理由ではなくmssqlにもMySQLを使用して見つけることができません。この問題は、前に、コストが、SQL Server 2005 Expressは無料ですが、ウェブの多くはフル$ 5.00未満の月のSQL Serverとホスティングを提供する企業をホストしていることに使用されます。

mssqlを使いやすくされ、MySQLには存在しない多くの機能をしています。


7)

@ アブドゥ

私は、MySQLが上mssqlをタイムゾーンサポートされて - 能力をうまくタイムゾーンの間に変更するには、夏時間を尊重している見つけた主なものは幻想的です。

これを比較しなさい:

mysql> SELECT CONVERT_TZ('2008-04-01 12:00:00', 'UTC', 'America/Los_Angeles');
+-----------------------------------------------------------------+
| CONVERT_TZ('2008-04-01 12:00:00', 'UTC', 'America/Los_Angeles') |
+-----------------------------------------------------------------+
| 2008-04-01 05:00:00                                             |
+-----------------------------------------------------------------+

でに関与ねじれこの答えです。

の'コメント'を使用して簡単に、私はその点は、彼らが異なっていると、場合は、1つは、他の学習のオーバーヘッドなるかと思います。


8)

@ Cebjyre。 IDEのかどうかをEnterprise ManagerまたはManagement Studioは、私はこれまでMySQLの見ている何よりも優れています。私は、MSSQLにおいてMySQLは対応が多くのことを行うことができますので、私は使いやすい'と言う。 MySQLでは、私がどのようにチューニングクエリを単純にクエリプランを見たり、統計を見て見当がつかない。 mssqlにインデックスチューニングウィザードでは、ほとんどのインデックスが不足している何か、見当違いの推測作業を取ります。

MySQLの1つの欠点は、データベースに対する最大サイズがあること。それはディスクをいっぱいまでデータベースはサイズが増加します。そのデータベースが成長することはできませんので、このディスクを共有する他のユーザーとデータベースれている場合、突然、すべてのクエリの想像失敗している。前に私はこの問題を報告しているMySQLの長い時間。私はそれがまだ修正はないと思う。




9)

あなたは、MSSQLから無料でRDBMSに切り替えている場合、深刻なダウングレードは、同じような機能PostgreSQLのようなではなく、何か近いMS Accessに接続mssqlにも設定されて何かをしてください。


10)

DDLのないサーバーは、SQLトランザクションをしながらサポートしてMySQLはしません


11)

いくつかの時間をMySQLとMS SQLからに取り組んでつかうMySQL構文POVは私は私が何ができるかに限定見つける続けた。

また更新時に同じテーブルをrefrencingながらテーブルを更新するbizzare制限があります。

また、更新からは動作しないと私はは、OracleのMERGEのいずれかの構文INTOをサポートしていないチェック最後の時間。これは私のショーストッパーだったと私は私がどこにMySQLを、それ以降になるだろうと考え停止しました。


12)

すべてはMySQLの近いmssqlにより金属に行われる、と思われるドキュメントが方法をそれを扱います。特に最適化のためには、理解する必要がありますどのようにインデックスは、システム構成、およびオプティマイザは、さまざまな状況下での対話。

"オプティマイザは"よりパーサーです。 mssqlにしてくださいクエリプランは、しばしば驚き(通常は良い、そうでない場合も)です。 MySQLでは、それはかなりあなたは何をすることを要請しない、方法は、あなたがそれを期待した。あなたはどちらが自分でそれが行われる可能性がありますさまざまな方法の深い理解を持っている必要があるという。

良いトランザクションモデルを中心に構築されません。

ファイルシステムのセットアップはあなたの問題です。

すべてのデータベースの構成は、問題がある - 特に様々なキャッシュサイズ。

時にはそれが最高のそれのアドホック、栄光のISAMと考えているようだ。コッドと日付は、ここで多くの重量を運ぶことはありません。彼らは恥ずかしさでそれを言うでしょう。