MySQL vs PostgreSQL? 私の Django プロジェクトにはどちらを選ぶべきですか?
質問
私の Django プロジェクトは、数十万件のエントリを持つ大規模なデータベースに支えられ、検索をサポートする必要があります (おそらく djangosearch または同様のプロジェクトを使うことになると思います)。
どのデータベースバックエンドが私のプロジェクトに最も適しているか、そしてその理由は何ですか?さらに読むための良いリソースをお勧めすることはできますか?
どのように解決するのですか?
最近プロジェクトをMySQLからPostgresqlに切り替えた者として、私はその切り替えを後悔していません。
Django の観点から見た主な違いは、Postgresql ではより厳密な制約チェックが行われることで、これは良いことです。
おそらく 6 つほどの Django データベース移行アプリケーションがありますが、少なくとも 1 つは Postgresql をサポートしていません。 しかし、他のアプリケーションを使うこともできますし、手動で行うこともできるので、これを欠点とは考えていません (これが私の好むところです)。
全文検索 かもしれない は MySQL でもっとうまくサポートされるかもしれません。 MySQL には、Django 内からサポートされる組み込みの全文検索がありますが、かなり使い物になりません (語幹検索、フレーズ検索などがありません)。 私は django-sphinx を MySQL での全文検索のためのより良いオプションとして使っています。
全文検索は Postgresql 8.3 に内蔵されています (それ以前のバージョンでは TSearch モジュールが必要です)。ここに良い説明のブログポストがあります。 PostgreSQL と tsearch2 を使った Django での全文検索
関連
-
[解決済み】MySQL - オペランドは1つのカラムを含む必要があります。
-
MySQLでテーブルを削除します。親行が削除または更新できません: 外部キー制約に失敗しました。
-
PostMan レポート エラー: 接続 ECONNREFUSED 127.0.0.1:port number
-
[解決済み] MySQLでdatetimeとtimestampのどちらのデータ型を使用すべきですか?
-
[解決済み] ブーリアン値を格納するために使用するMySQLデータ型
-
[解決済み] どのバージョンのPostgreSQLを使用していますか?
-
[解決済み] MySQLで複数のカラムに一意制約を指定するには?
-
[解決済み] MySQL型テキストの最大長
-
[解決済み】MySQLのDatetimeカラムにデフォルト値を設定する方法とは?
-
[解決済み】MySQLで--secure-file-privにどう対処すればいいのか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
MySQLのデータバックアップにmysqldumpを使用する方法
-
ジョイントインデックスのためのmysqlの条件とインデックスが失敗するための条件
-
MySQLデータベースでvarchar型の数値の大きさを比較する方法
-
MySQL サービスとデータベース管理
-
Mysql がエラー 1241 を報告 オペランドは 1 つのカラムを含む必要があります。
-
Mysqlデータベースへのリンク時にpymysqlがConnection refusedエラーを報告する
-
Unknown character set.を解決する。MySQLデータベースインポート時の'utf8mb4'エラーの解消
-
CMakeエラー。ソースディレクトリ "/xxx/mysql-5.6.21" に CMakeLists.txt がないようです。
-
[解決済み] 1つのSQLクエリで複数のカウントを取得する方法は?
-
[解決済み] MySQLでコマンドラインを使用してユーザーアカウントのリストを取得するにはどうすればよいですか?