X



トップページDB@2ch掲示板
1002コメント288KB
MySQL vs PostgreSQL Part2
■ このスレッドは過去ログ倉庫に格納されています
0001NAME IS NULL
垢版 |
2005/08/03(水) 04:43:20ID:j7oDtJr2
同じオープンソースRDBMSとしてのMySQLとPostgreSQLを語ろう。

どちらが良い・悪いの宗教論争ではなく、漏れたちユーザにとってのそれぞれの使い所を見出そう。

前スレ

MySQL vs PostgreSQL
http://pc8.2ch.net/test/read.cgi/db/1056943680/l50
0566NAME IS NULL
垢版 |
2010/09/20(月) 14:36:09ID:???
MySQLがPostgreSQLに勝る点
(1)オフィシャルサポートby Oracleがある
(2)DB毎、テーブル毎のレプリケーションができる
(3)サポートされているシステムやソフトが多い
以上。

パフォーマンスは使いかた次第。CPUコアに対するスケーラビリティはまだPostgresの勝ち。
ただしベンチマークだけで評価するのは素人。アプリ次第でパフォーマンスなんてどうにでもなる。

MySQLはトリガ、ストアドプロシージャがまだまだ弱い。check制約も未サポート。MyISAMは外部キーも未サポート。
ただしこれらを使うか使わないかはあなた次第。

メジャーバージョン間の互換性はPostgresが高い、というかMySQLはマイナーバージョンですら
互換性なくすから実際に運用してみるとどうしようもないことがわかる。
SQLレベルでもころころ仕様がかわるから、アプリケーションまで含めたシステムのバージョンアップに
とてつもないコストがかかる。

>>526
にあるように、レプリケーション用のスレーブを準備するのが大変。バックアップ/リストア機能がとてつもなく貧弱。
これが運用上最大の欠点。
ファイルシステムのスナップショット機能を利用するしかない。あらかじめ準備してなかったり、古い環境で作業させられたりするとアウト。

MySQLはバグも多い。バグフィックスの数が膨大。
もともと開発の稚拙さが目立っていたが最近ではAlterTableでクラッシュするバグが1年以上放置されたりとひどい。
0569NAME IS NULL
垢版 |
2010/09/22(水) 01:51:40ID:???
参考になります。ありがとうございます。
0570NAME IS NULL
垢版 |
2010/09/29(水) 14:19:48ID:???
スラドに「PostgreSQLやSQLiteがMySQLの代用になるとか、天と地が逆さになってもありえない。」
とか書いてるキチガイがいるな
0571NAME IS NULL
垢版 |
2010/09/29(水) 16:44:10ID:???
>>570
あんな基地外シッタカ放置だろ。言っていることの
全てに突っ込みどころがありまくり。
0572NAME IS NULL
垢版 |
2010/09/30(木) 20:32:37ID:???
./見てないけどSQLiteはともかくDRBMSなんてどれも同じだろ殆ど
運用方法や方言が違うだけで
0574NAME IS NULL
垢版 |
2010/10/04(月) 08:02:20ID:???
こいつの代用はいくらでもありそうだ。
0575NAME IS NULL
垢版 |
2010/10/27(水) 21:22:03ID:DT8SPNwk
SQLiteは両者と比べてどの辺の位置づけになりますか?
http://gro.cc/across/
0577NAME IS NULL
垢版 |
2010/12/08(水) 22:42:13ID:5WergI0I
・・・
0578NAME IS NULL
垢版 |
2010/12/23(木) 18:14:04ID:???
MySQL 5.5 になって、CPUスケーラビリティは PostgreSQL に追いつきましたか?
5.1 までは酷い性能だったみたいですが。
0579NAME IS NULL
垢版 |
2010/12/23(木) 23:14:54ID:???
5.1+InnoDB Pluginでも実はまだ負けてたんだけど
5.5ならPostgreSQLとほぼ互角だと思われる
0581NAME IS NULL
垢版 |
2011/02/26(土) 20:02:00.07ID:???
MySQL vs PostgreSQL の時代は終わり。
Oracle vs PostgreSQL が適当。
0582NAME IS NULL
垢版 |
2011/03/10(木) 17:33:14.86ID:693Tf/Gc
MySQLのライセンスがよくわからんのでちょっと教えてください(´д`;)
(というか、みなさんどうやってるんだろう・・・)

【ケース1】
店主AはサイトBからMySQLを使ったフリーのショッピングカートシステム(PHP)をダウンロード。
店主Aはショッピングカートシステム(PHP)のソースをちょこっと変更して(文言とかデザインとか設定とか)
店主AはレンタルサーバC(MySQL利用可)にそのシステムをインストール。
店主Aはネットショップをオープン。

【ケース2】
店主Dは個人Eにネットショップの開発、設置を依頼。
個人EはMySQLを用いたショッピングカートシステム(PHP)を開発。
個人Eは店主Dが契約したレンタルサーバF(MySQL利用可)にそのシステムをインストール。
店主Dはネットショップをオープン。


これらのケースはよくあるパターンだと思うけど、誰がライセンス料を払う義務があるの?

・サイトBは自由にダウンロードできる状態でソースを公開してるのでGPLですかね。

・店主Aはソースを変更した上でソース非公開(※)で使ってるのでOEM?
 ※ショッピングサイトで「このサイトのシステムをダウンロード」があるのはおかしいw

・個人EがOEMとするとお小遣い稼ぎ程度のちょっとしたプログラム作成依頼でも全部OEM?

・MySQLをインストールした上で自由にユーザーに使わせてるレンタルサーバ屋は
 ライセンス料とは無関係?
0583NAME IS NULL
垢版 |
2011/03/10(木) 19:59:18.03ID:???
MySQLというか、GPLについて

>・サイトBは自由にダウンロードできる状態でソースを公開してるのでGPLですかね。
GPLなWEBアプリの利用者は店主Aであって、サイトBの利用者ではない。
よって、ソースコードの公開は必要ない。
ただし、店主Aが変更したGPLアプリを、他人のWebサイトにセットアップするのであれば、
Webサイトの所有者に対し、GPLでソースコードを提供しなければならない。

>・個人EがOEMとするとお小遣い稼ぎ程度のちょっとしたプログラム作成依頼でも全部OEM?
GPLなWEBアプリを店主Dが利用するなら、当然個人Eは、そのソースコードを店主Dに提供しなければならない。

>・MySQLをインストールした上で自由にユーザーに使わせてるレンタルサーバ屋は
インストールしたMySQLのソースコードが公開されているWebサイトを紹介すれば、GPLに違反しているとは思われない。
よって、ライセンス料を支払う必要はない。
0584NAME IS NULL
垢版 |
2011/03/10(木) 20:07:10.17ID:???
>サイトBは自由にダウンロードできる状態でソースを公開してるのでGPLですかね。
サイトBが提供している、ショッピングカートシステム(PHP)がGPLかどうかは、
提供者に聞かないと分からない。
ダウンロードできるなら、利用ライセンスがどこかに書いてあると思うが…
0585NAME IS NULL
垢版 |
2011/03/10(木) 22:09:02.70ID:???
MySQLで、ライセンス料を払わなければいけないのは、
MySQLで動く自社著作物のソフトウェアを、
(独占的ライセンスで利用権を販売するなど)非GPLで他社に提供する場合。

GPLにおいて、レンタルサーバで動かすアプリケーションの利用者とは借り手のこと。サーバにアクセスする人は対象外。
GPLのソフトウェアのソースコードは、利用者にのみ提供すればそれでいい。

他社に請負で作ってもらった、著作権が自社に帰属する自社利用のWebアプリケーションは、My SQLのライセンス料を払わなくていいし、
GPLアプリケーションを改良し、自社で利用するだけであれば、他社に公開する必要もない。
0586NAME IS NULL
垢版 |
2011/03/10(木) 22:16:26.18ID:???
>>583 >>584

レスありがとうございます。
ちょっと勘違いしてました。GPLとするときにソースを公開しないといけない相手は
「(WEB利用者も含む)世の中全体」ではなくて
「プログラムの著作物の複製物を所持している者」なのですね。
ケース2の場合だと店主Dに対してソースを公開するならGPLとなり
個人Eはライセンス料を払う必要がないのですね。
(ただし、店主Dには頒布権が発生しますから、店主Dによって個人Eが作成した
 プログラムが世の中にばらまかれる可能性はありますが、そこは信頼関係でカバー?w)


この記事を読んで混乱したのですが、これは間違ってるということでいいんでしょうか?
http://www.atmarkit.co.jp/flinux/rensai/mysql01/mysql01.html#c

>MySQLをインストールしたサーバをASPなどの商用に利用する場合にはライセンス料が発生します

レンタルサーバ会社にもライセンス料が発生するようにも読めますが・・・
レンタルサーバ以外の一般的な有料ASPサービス(ショッピングカート、予約システムなど)の場合であっても
そもそも第三者にプログラムを頒布しませんから関係ないですよね?

>開発したアプリケーションのソースコードを広く一般に公開すれば課金はまぬがれますが

「広く一般に」ではなく「販売先(頒布先)に」ですよね?

0587NAME IS NULL
垢版 |
2011/03/10(木) 22:27:10.83ID:???
>>585
わかりやすい解説ありがとうございます!

独占的ライセンスが必要な時以外はGPLでOKなんですね〜
しかし、A社が納品したプログラムをB社が完全に自由にできるっていうのもなんだかなぁ・・・
(丸ごとコピーして売ってもいいし、自社HPから自由にDLさせても良いということになるよね)
0588NAME IS NULL
垢版 |
2011/03/10(木) 22:47:21.93ID:???
>(ただし、店主Dには頒布権が発生しますから、店主Dによって個人Eが作成した
> プログラムが世の中にばらまかれる可能性はありますが、そこは信頼関係でカバー?w)

>(丸ごとコピーして売ってもいいし、自社HPから自由にDLさせても良いということになるよね)
GPLの理念は、利用者のソフトウェアの自由を保障することだから、これを禁止してはいけない
これはあなたが他のGPLソフトウェアを利用する時の権利にもなる

>MySQLをインストールしたサーバをASPなどの商用に利用する場合にはライセンス料が発生します
http://www.mysql.com/about/legal/licensing/oem/
http://www.softagency.co.jp/products/mysql/license/
などを読む限り、頒布しないかぎりライセンス料は発生しないと思われる(責任は持たない)
さらに気になるなら、上記リンク先から、問い合わせることもできる。

>しかし、A社が納品したプログラムをB社が完全に自由にできるっていうのもなんだかなぁ・・・
日本で一般的なソフトウェア開発は、開発者の労働役務の提供による請負契約で、
著作物の権利は、すべて納品先に帰属する。
そうでなく、著作物のソフトウェア製品の利用ライセンスを販売する、製品販売契約の場合、あなたは当然GPLやその他のライセンスを適用できる。
ただし、GPL以外でMy SQLを利用した製品を販売する場合、上記の通りMy SQLにライセンス料を払わなくてはならない。
0589NAME IS NULL
垢版 |
2011/07/14(木) 20:23:52.55ID:???
>>588
どう読んでも、そんな結論にならないだろ。

MYSQLを使用したソフトウェアを引き渡す場合、(形態を問わず)
GPL(ソフトウェアのソースを公開)にして下さい。

GPLにしない場合、コマーシャルライセンスを買ってください。

だろ。

「頒布しないかぎりライセンス料は発生しない」
ってどこを読んだんだよ。
0590NAME IS NULL
垢版 |
2011/07/15(金) 00:03:53.14ID:???
頒布しないのに誰に何のライセンス料を払うんだ?
0592NAME IS NULL
垢版 |
2011/07/15(金) 12:34:51.09ID:???
>>591
MySQLは、自分自身もGPLだけど、使うソフト(WEBサイト)もGPLであることを求めている。
GPLの規約自体は、この際あまり関係ない。

ものすごくわかりにくいけど、ここの2番目の章。
http://www-jp.mysql.com/about/legal/licensing/faq.html

要約すると、
「MySQLはオープンソースを推進しているので、オープンソースのソフトからMySQLを使用しても金を取りません。」

1番目の章でも、良く読めば、

「MySQL 製品を使用」する場合、使用するアプリケーション(WEBサイト含む)はGPLにして下さい。
そうしない場合、商用ライセンスを購入してください。 」

ってあいまいに書いている。
0593NAME IS NULL
垢版 |
2011/07/15(金) 12:56:33.08ID:???
>>590
これは流石に酷い・・。中国並みのライセンス意識だわ・・。

MySQLというソフトを使用するなら、日本だと、MySQLの販売代理店に金を払う。
「mysql 購入」でググれば、代理店いっぱい出てくる。

頒布しなくても、windowsを使用する場合、windowsのライセンスは買うだろ。
まあ、お前は海賊版使ってるのかもしれないけどさ。
0594NAME IS NULL
垢版 |
2011/07/15(金) 12:57:36.03ID:???
>>591
使うソフト(WEBサイト)を自社のみで使う(NDAなどで委託先に開発させたものを含む)場合には、
利用者(自社)がソースコードなどをGPLに基づいて利用できる状態にあればよいわけで

GPLを尊守しているかぎり、第三者にバイナリを提供していないにもかかわらずソースコードを開示する義務はなくて、
従って、バイナリやソースコードを第三者に頒布しなくとも(GPLを尊守しているかぎり)、
商用ライセンスを購入する必要はないと読める
0595NAME IS NULL
垢版 |
2011/07/15(金) 13:04:31.32ID:???
>>593
MySQLを自分で使用するだけなら金を払う必要ないよ。
RHELやCentOSにMySQLの価格は含まれていないでしょう。
もし金を払う必要があったら本屋で売ってる
CentOSのDVD-ROM付きガイド本が20万円以上することになる

買うのはサポートが欲しいときと、GPLを外したいとき
0596NAME IS NULL
垢版 |
2011/07/15(金) 15:47:08.69ID:???
>>595
ぽかーん
CentOSにMySQL入ってないだろ。

MySQLのダウンロードは無料。
使用するなら、使用するソフトをGPLで公開する。
じゃなきゃ、金を払う。

MySQLは営利企業が開発して、販売してるソフトだぞ。
ただ、使うソフトをGPLで公開すれば、無料で使えますってだけ。
0598NAME IS NULL
垢版 |
2011/07/15(金) 19:32:15.39ID:???
>>597
入ってるのか。
いつも最小インストールだから、知らなかった。
0599NAME IS NULL
垢版 |
2011/07/15(金) 23:34:57.84ID:???
CentOSはGPL。ここポイントな。

「第三者にバイナリを提供していないにもかかわらず」は、
内部の社員からの流出はライセンス的には止められない可能性がある。

なんにせよ、GPL汚染が怖いならフリー版のMySQLは候補にはならないよ。
0600NAME IS NULL
垢版 |
2011/07/15(金) 23:35:17.20ID:???
>>596
GPLには公開する義務なんてないよ。何言ってんだ?
0601NAME IS NULL
垢版 |
2011/07/16(土) 00:38:17.78ID:???
>>599
内部の社員からの流出は、プログラムがGPLかどうかとは関係がない
GPLソフトウェアの扱いにも守秘義務が課せられるということは、
GPLでないソフトウェアと何ら違いはない

GPLの条項が理解できない場合や受け入れなれない場合は、
フリー版のMySQLは利用できない
0602NAME IS NULL
垢版 |
2011/07/16(土) 11:57:32.78ID:???
MySQLのライセンスのポイントは2つ。

1)MySQL自体の改変についてはGPLに従う。
2)MySQLを使用して開発した成果物(ソフトウェア・WEBサイトなど)もGPLに従う。

で、1)と2)は基本的に関係の無いライセンス規定で、
金銭的に問題になるのは2)。

1)のMySQL改変なんてやる人は滅多にいないけど、この規定のせいで
「MySQL自体を改変しなけりゃ、使って大丈夫」っていうデマが流れるようになった。

日本の(貧乏)企業の半数がPostgreSQLを使用しているのは、
2)の規定を読んでMySQLの使用を避けたか、MySQL販売代理店に確認したためと思われる。
0603NAME IS NULL
垢版 |
2011/07/16(土) 19:58:43.00ID:???
>2)MySQLを使用して開発した成果物(ソフトウェア・WEBサイトなど)もGPLに従う。

って事は、MySQLを利用したWebサイトを作成してサイトを公開しただけなら、そのサイトを構成するcgi等を公開する必要は無いって事?
0605NAME IS NULL
垢版 |
2011/07/16(土) 22:55:47.35ID:???
>>604
レスさんくす。
やっぱ、そうなるよね。
0606NAME IS NULL
垢版 |
2011/07/17(日) 06:09:09.16ID:???
>>604
604のリンク先を読むと、無条件で公開しなくていいわけではないようだが。
公にするならソースコードを公開しろという事だから、WEBサイトにつかうなら公開する
必要があるだろう。エクストラネットで内部だけで使うならともかく。

0607NAME IS NULL
垢版 |
2011/07/17(日) 08:22:56.73ID:???
ここでいう「公にする」ってのはソフトウェアを頒布するということ。
Webでサービスを提供するのは当てはまらない。
無条件で公開しなくてよいわけではもちろんないが、GPLソフトウェアの
派生物を頒布する場合はその改変されたソースコードも提供しなければ
ならないといっているだけに過ぎない。
0608NAME IS NULL
垢版 |
2011/07/17(日) 10:56:26.58ID:???
>>606
>WEBサイトにつかうなら公開する必要があるだろう。エクストラネットで内部だけで使うならともかく。

GPLが直接対象としている公開先は、バイナリの保持者であって、
GPLソフトウェアで作られているWEBサイトにアクセスする人に対しては、GPLソフトウェアを公開する必要はない。

GPLとは別に、Webアプリケーションの利用者に対してもソースコードを利用する権利を認めようとする、Affero General Public License (AGPL)というものがある。
0609NAME IS NULL
垢版 |
2011/07/17(日) 11:06:24.59ID:???
うわっ AGPLなんて物もあるのか。こりゃ徹底してるな。
0610NAME IS NULL
垢版 |
2011/07/17(日) 11:15:38.34ID:???
>>602
MySQLは当時サブクエリも使えなかったからな。
PostgreSQLに流れたのは当然。
0611NAME IS NULL
垢版 |
2011/07/17(日) 12:09:07.52ID:???
>>606
それを要求するのはAGPLであってGPLじゃない。
0612NAME IS NULL
垢版 |
2011/07/17(日) 12:29:03.72ID:???
>>610
今でもまともにJOINもできないけどね > MySQL
0613NAME IS NULL
垢版 |
2011/08/07(日) 12:30:52.67ID:???
MySQLはオワコン
ttp://slashdot.jp/apple/11/08/04/0816215.shtml
0614NAME IS NULL
垢版 |
2011/08/10(水) 20:07:17.21ID:???
>>593
GPLは利用ライセンスじゃないのよ
0615NAME IS NULL
垢版 |
2011/08/23(火) 12:20:55.62ID:???
レンタルサーバのDBがほとんどMySQLばっかりだからなあ
半々ぐらいになってくればPostgresも利用するんだがねぇ。
なんでMySQLばっかなんだろ。ただ単に他の業者がMySQLだからうちもって感じなのかな。
0616NAME IS NULL
垢版 |
2011/08/23(火) 15:18:43.32ID:???
ちょっと前のPHPの標準扱いだったからじゃないかなあ
0617NAME IS NULL
垢版 |
2011/08/29(月) 20:55:43.08ID:???
今は格安VPSあるからそれ使うのが主流になるんじゃね
0618NAME IS NULL
垢版 |
2011/09/23(金) 09:04:25.85ID:ZEglwbVi
うちのPC管理者が

「社内イントラネットで使うデータベース(外部には非公開)であっても
業務で使うなら、MySQLは商用ライセンスが必要。
 だからPostgreSQLじゃなきゃだめ」

って言い張っているんですが、純粋に自分らで作って自分らだけで使うんなら
商用ライセンスなんて要らないですよね?
0619NAME IS NULL
垢版 |
2011/09/23(金) 09:32:46.66ID:???
サポート欲しけりゃライセンス買え。
MySQL使ったシステムを配布するならライセンス買うか、GPLに従って求められればソース出せ。
配布もしないし、サポートも要らないなら好きにしろ。

じゃないの?
0620NAME IS NULL
垢版 |
2011/09/23(金) 12:01:50.05ID:???
>>618
>商用ライセンスなんて要らないですよね?
要らないと思うけど問い合わせてみれば?
0621NAME IS NULL
垢版 |
2011/09/23(金) 13:09:23.27ID:???
>>620
問い合わせると「サポート無しでは云々」とか言われそうで。

うちのPC管理者ってマジで紙テープも使っていたCOBOL爺なんだが
(昔はパッチを当てるというのは、こうやって紙テープのアナをふさいだりアナを手であけたり
 したもんだ、と実演してくれたw)
PHPとかもやっているくせに、どうも一度信じきったこと(MySQLを業務で使うには商用ライセンスが必要)
はナカナカ考えを変えそうにないんでねー。
0622NAME IS NULL
垢版 |
2011/09/23(金) 14:19:25.11ID:???
>>621
具体的に何を言われたかは知らないけど、
たとえライセンス条項の文言に違反はしてなくても、
ライセンス元の権利者が商用ライセンスを買わないと使わせないというのなら、
従うべきのような気もする
0623NAME IS NULL
垢版 |
2011/09/23(金) 14:20:54.92ID:???
その使い方なら商用ライセンスはいらないが、
「2ちゃんに書いてありました」って言ったところで信じないだろう
0624NAME IS NULL
垢版 |
2011/09/23(金) 15:42:02.11ID:???
>>622
GPLの場合に限れば、オリジナルの権利者以外もサブライセンスできるから
実質ライセンス条項の文言がすべてだな。
ただ、ライセンスの話とサポートは別だが。
0625NAME IS NULL
垢版 |
2011/09/23(金) 16:45:53.60ID:???
>>621
PostgreSQLでなにが悪いんだ。最近はこちらの方が昇り龍。
0626NAME IS NULL
垢版 |
2011/09/24(土) 20:50:34.06ID:???
>>625
PostgresをVistaHomeに入れようとしたらハマったでござるの巻。
0627NAME IS NULL
垢版 |
2011/09/25(日) 03:58:37.42ID:???
>PHPとかもやっているくせに

カスだな
0628NAME IS NULL
垢版 |
2011/09/25(日) 09:03:54.58ID:???
>>627
なんでPHPがカスなんだよぉぉおぉ。
0629NAME IS NULL
垢版 |
2011/09/25(日) 09:39:13.04ID:???
>>628
クソなPHPつかうところはちゃんと妥協できてんのに、
ほかで融通利かない点がカスなんだとおもう。
0630NAME IS NULL
垢版 |
2011/09/25(日) 09:55:16.49ID:???
>>629
PHPは

print(”残高は$zandaka円です”);
っていう記述が出来るので好き。あと変数に$をつけるので
うっかり予約語と被らないところとかが好き。

言語体型がCと似ているので好き。

0631NAME IS NULL
垢版 |
2011/09/25(日) 19:25:09.19ID:???
うちの近所の図書館には
PostgreSQLがキーワードな本が1冊も無い。
MySQLなら8冊ある
0632NAME IS NULL
垢版 |
2011/11/08(火) 16:43:05.70ID:???
俺は絶対に
print ”残高は” . $zandaka . ”円です”;
と書くな
もしくは
printf(”残高は%d円です”, $zandaka);
元Javaプログラマだからってのもあるだろうが
0633NAME IS NULL
垢版 |
2011/11/11(金) 00:59:25.26ID:???
>>630
PHPが糞ってかプログラマが糞なのがよくわかるな
0634NAME IS NULL
垢版 |
2011/11/11(金) 08:22:20.91ID:7zKB4sPU
>>632
print ”残高は” . $zandaka . ”円です”;

これ、PHP3だと記述できないんだっけ?
(カッコでくくる必要がある)
0635NAME IS NULL
垢版 |
2011/11/11(金) 11:01:34.44ID:???
全文検索をやってる人いますか?
検索結果の表示順序を決めるものとしてPostgreでは相関値rankがありますが
MySQLでは類似値が無いようなので、その面ではPostgresがよいかなと。
0636NAME IS NULL
垢版 |
2011/11/12(土) 16:43:16.09ID:???
MySQLほどレスポンス求められないなら分析関数使えるPgかな。
0637NAME IS NULL
垢版 |
2011/12/06(火) 12:06:13.43ID:xOiDCcgd
最近レプリケーションも出来るように成ったとのことで、ポスグレに鞍替えしようかと思っているのですが、sqlでどこら辺がちがうなど、代表的なモノを幾つかお教えいただきたいのですが…
0639NAME IS NULL
垢版 |
2011/12/06(火) 13:39:38.29ID:???
標準ではダメだけどMySQLではOKな緩いやつが蹴られるかな
GROUP BY 周りとか。
0640NAME IS NULL
垢版 |
2011/12/08(木) 16:58:39.90ID:J5DfcOHu
なるほど、group はMySQLはゆるいんですね。
ありがとうございます。
一応SQLの本を読みつつMySQLを覚えたのですが、ひょっとしてゆるいSQLで記載してるかもなので、見直してみます
0641NAME IS NULL
垢版 |
2011/12/23(金) 12:20:46.94ID:m7rArB+e
MySQLは、一回のselectで一つのテーブルに関して使われるインデックスは
一つだけという上限があるみたいなんですが、ポスグレはどんなでしょ?
0642NAME IS NULL
垢版 |
2011/12/23(金) 12:32:49.65ID:???
>>641
PostgreSQLにはそういう制限はない。
0643641
垢版 |
2011/12/23(金) 15:47:12.08ID:???
ども >>642

ということは、2つ以上のインデックスが活きるような検索なら、
MySQLよりかなり速いってことも有り得そうですね。
0644NAME IS NULL
垢版 |
2011/12/23(金) 19:03:01.15ID:???
>>643
容量節約できるくらいじゃない?
適切なインデックスを張る前提だけど、そこは横着しないでしょ。ふつう。
0645NAME IS NULL
垢版 |
2011/12/23(金) 19:50:38.86ID:???
一度のテーブルスキャンするのに使われるindexはどのDBMSでも
高々1つだと思うんだが、>>641の制限ってどういう状況?
1クエリ内で同じテーブルを複数回スキャンする場合に1つの
同じindexしか使われないということなのか、あるいはそもそも
1クエリ内のindex scanはテーブル毎に1回ずつしか使われないと
いうことなのか。
0647NAME IS NULL
垢版 |
2011/12/31(土) 20:31:41.99ID:5QC4w01n
こんなスレがあったとは。
つかぬことをうかがいますが、MySQLとPostgreSQLでは、どちらがより省メモリでしょうか。
速いのはMySQLだそうですが、速さよりもメモリ消費量の少なさに興味があります。
「条件次第」といわれればそれまでですが、こんなときはMySQL or PostgreSQLのほうが省メモリだよー、というのを教えてください。
0649NAME IS NULL
垢版 |
2012/01/02(月) 14:00:59.18ID:???
RDBMSにおけるメモリ使用量のほとんどはデータのキャッシュ領域なので
(PostgreSQLでshared_buffers、MySQLでinnodb_buffer_pool_size)、
そこを少なく設定すれば省メモリになる。もちろんその分性能は下がる。

そこを同じ設定にしたと仮定すると、
PostgreSQLはマルチプロセスアーキテクチャ、
MySQLはマルチスレッドアーキテクチャなので、
データベースへの接続数が多い場合はMySQLの方がメモリ使用量は少ない。
0650NAME IS NULL
垢版 |
2012/01/31(火) 18:24:23.97ID:???
>>632
php的には

?>残高は<?=$zandaka?>円です<?

だろ。ちがうかw
0651NAME IS NULL
垢版 |
2012/02/24(金) 22:16:18.08ID:???
SELECT 〜 limit 100 とかした場合でも、条件に合う総件数を知りたい場合、
MySQLだとSELECT SQL_CALC_FOUND_ROWS 〜 とかやれば出来るんですけど、
PostgreSQLの場合はどうしたらいいんでしょ?
0652NAME IS NULL
垢版 |
2012/02/25(土) 01:16:57.92ID:???
SELECT count(*) OVER() ... LIMIT 100
0653NAME IS NULL
垢版 |
2012/02/25(土) 14:55:49.26ID:???
overなる語も加えてぐぐってみました。

成程、ウインドウ関数とかいうものを使うのですね。
MySQLくらいしか知らなかった者では目が向かない部分でした。

ありがとうございました。
0654NAME IS NULL
垢版 |
2012/03/12(月) 21:14:01.80ID:???
ポスグレは正規表現が使える
0655NAME IS NULL
垢版 |
2012/04/12(木) 05:52:18.89ID:F54V/Qvn
>>649

ポスグレのshared_buffersについて根本的に勘違いしてね?

shared_buffersは共有メモリとして1つだけ確保、クライアントと接続するバックエンドプロセスは
その共有メモリにアクセスするんだよ。MySQLのInnoDBと同じ。
バックエンドプロセス間の排他制御は様々な工夫がこらされて、パフォーマンスはとてつもなく向上してる。
ベンチマークはいろいろ公開されてるから調べるとよろし。
ポスグレのバージョンが古いけどそれでもMySQLより速いことが多いはず。
今ならもっと速い。MySQLもパフォーマンス向上してるけどさ。
0656NAME IS NULL
垢版 |
2012/04/12(木) 13:30:35.46ID:???
・メモリをたくさん設定するとディスクI/Oが減るので速い
・最近のバージョンではshared_bufferへのアクセス排他制御が良くなっているので速い
という二つの話題が混ざっているんだな
0657NAME IS NULL
垢版 |
2012/05/07(月) 13:05:12.95ID:???
MySQL使うメリットってクラスタ組める以外に何かある?
0658NAME IS NULL
垢版 |
2012/05/07(月) 16:27:36.78ID:???
サポートの回答がめちゃくちゃ早い
0659NAME IS NULL
垢版 |
2012/05/08(火) 14:37:38.79ID:???
お それわいい事です。
0661NAME IS NULL
垢版 |
2012/05/09(水) 17:56:44.42ID:???
他に無いのかよwww
0663NAME IS NULL
垢版 |
2012/05/11(金) 22:52:13.89ID:???
sequenceてどうやるの?
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況