第15课 _ 根据Google搜索发布投稿(5分钟) _ 数据库的差异
大家,当你们听到“数据库”这个词,会想到什么呢?
-
- MySQL
-
- PostgreSQL
- SQLite
这就是我能马上想到的了…
平时像是没注意到的东西,你有在意过它们的不同吗?
最近我在Udemy上学习的时候,看到了一个关于“SQLite/PostgreSQL的表定义”的课程。我有时候会想,有那么大的必要去区分它们吗?还不如只用MySQL呢。
所以我大致调查了一下,看要不要总结一下。
PostgreSQL/MySQL/SQLite 之间的差异。
PostgreSQL
市場シェア
4位(古いかも)
メリット
標準SQLに沿った実装なので、独自の書き方が少ない
大量のデータを捌くには処理が早い
多機能(有償DBがもつ機能を搭載)
トランザクション
サブクエリ
トリガ
関数
GISデータ(地理情報システム)を格納可能
テーブル結合のアルゴリズムの数がMySQLより多く、結合によって最適アルゴリズムを切り替える
堅牢性が高い
MySQLには暗黙的に実施される型変換や、文字列比較の厳格さがゆるい
例)
日付型の「2019-09-01」から数字の「1」を引くと、「20190900」という整数が返える
MySQL
市場シェア
2位
マルチスレッド対応
一気に複数のプロセスを流せる?
PosgreSQLと似てる
大量のデータでも、SELECTで数十件単位だとMySQLが早い
UPDATEは直接上書きし早い(PosgreSQLだとINSERTに近い動きをする)
SQLite
ソフトウェアに内蔵される組み込み形式
MySQLやPostgreSQLはサーバー処理を行い、クライアントと接続処理が必要
コンパクト
本体サイズが600kb且つ、消費メモリも少ない
処理が高速
参考記事)