MySQL vs PostgreSQL Part2
■ このスレッドは過去ログ倉庫に格納されています
同じオープンソースRDBMSとしてのMySQLとPostgreSQLを語ろう。 どちらが良い・悪いの宗教論争ではなく、漏れたちユーザにとってのそれぞれの使い所を見出そう。 前スレ MySQL vs PostgreSQL http://pc8.2ch.net/test/read.cgi/db/1056943680/l50 >>606 >WEBサイトにつかうなら公開する必要があるだろう。エクストラネットで内部だけで使うならともかく。 GPLが直接対象としている公開先は、バイナリの保持者であって、 GPLソフトウェアで作られているWEBサイトにアクセスする人に対しては、GPLソフトウェアを公開する必要はない。 GPLとは別に、Webアプリケーションの利用者に対してもソースコードを利用する権利を認めようとする、Affero General Public License (AGPL)というものがある。 うわっ AGPLなんて物もあるのか。こりゃ徹底してるな。 >>602 MySQLは当時サブクエリも使えなかったからな。 PostgreSQLに流れたのは当然。 >>606 それを要求するのはAGPLであってGPLじゃない。 >>610 今でもまともにJOINもできないけどね > MySQL MySQLはオワコン ttp://slashdot.jp/apple/11/08/04/0816215.shtml レンタルサーバのDBがほとんどMySQLばっかりだからなあ 半々ぐらいになってくればPostgresも利用するんだがねぇ。 なんでMySQLばっかなんだろ。ただ単に他の業者がMySQLだからうちもって感じなのかな。 ちょっと前のPHPの標準扱いだったからじゃないかなあ 今は格安VPSあるからそれ使うのが主流になるんじゃね うちのPC管理者が 「社内イントラネットで使うデータベース(外部には非公開)であっても 業務で使うなら、MySQLは商用ライセンスが必要。 だからPostgreSQLじゃなきゃだめ」 って言い張っているんですが、純粋に自分らで作って自分らだけで使うんなら 商用ライセンスなんて要らないですよね? サポート欲しけりゃライセンス買え。 MySQL使ったシステムを配布するならライセンス買うか、GPLに従って求められればソース出せ。 配布もしないし、サポートも要らないなら好きにしろ。 じゃないの? >>618 >商用ライセンスなんて要らないですよね? 要らないと思うけど問い合わせてみれば? >>620 問い合わせると「サポート無しでは云々」とか言われそうで。 うちのPC管理者ってマジで紙テープも使っていたCOBOL爺なんだが (昔はパッチを当てるというのは、こうやって紙テープのアナをふさいだりアナを手であけたり したもんだ、と実演してくれたw) PHPとかもやっているくせに、どうも一度信じきったこと(MySQLを業務で使うには商用ライセンスが必要) はナカナカ考えを変えそうにないんでねー。 >>621 具体的に何を言われたかは知らないけど、 たとえライセンス条項の文言に違反はしてなくても、 ライセンス元の権利者が商用ライセンスを買わないと使わせないというのなら、 従うべきのような気もする その使い方なら商用ライセンスはいらないが、 「2ちゃんに書いてありました」って言ったところで信じないだろう >>622 GPLの場合に限れば、オリジナルの権利者以外もサブライセンスできるから 実質ライセンス条項の文言がすべてだな。 ただ、ライセンスの話とサポートは別だが。 >>621 PostgreSQLでなにが悪いんだ。最近はこちらの方が昇り龍。 >>625 PostgresをVistaHomeに入れようとしたらハマったでござるの巻。 >>628 クソなPHPつかうところはちゃんと妥協できてんのに、 ほかで融通利かない点がカスなんだとおもう。 >>629 PHPは print(”残高は$zandaka円です”); っていう記述が出来るので好き。あと変数に$をつけるので うっかり予約語と被らないところとかが好き。 言語体型がCと似ているので好き。 うちの近所の図書館には PostgreSQLがキーワードな本が1冊も無い。 MySQLなら8冊ある 俺は絶対に print ”残高は” . $zandaka . ”円です”; と書くな もしくは printf(”残高は%d円です”, $zandaka); 元Javaプログラマだからってのもあるだろうが >>630 PHPが糞ってかプログラマが糞なのがよくわかるな >>632 print ”残高は” . $zandaka . ”円です”; ↑ これ、PHP3だと記述できないんだっけ? (カッコでくくる必要がある) 全文検索をやってる人いますか? 検索結果の表示順序を決めるものとしてPostgreでは相関値rankがありますが MySQLでは類似値が無いようなので、その面ではPostgresがよいかなと。 MySQLほどレスポンス求められないなら分析関数使えるPgかな。 最近レプリケーションも出来るように成ったとのことで、ポスグレに鞍替えしようかと思っているのですが、sqlでどこら辺がちがうなど、代表的なモノを幾つかお教えいただきたいのですが… 標準ではダメだけどMySQLではOKな緩いやつが蹴られるかな GROUP BY 周りとか。 なるほど、group はMySQLはゆるいんですね。 ありがとうございます。 一応SQLの本を読みつつMySQLを覚えたのですが、ひょっとしてゆるいSQLで記載してるかもなので、見直してみます MySQLは、一回のselectで一つのテーブルに関して使われるインデックスは 一つだけという上限があるみたいなんですが、ポスグレはどんなでしょ? >>641 PostgreSQLにはそういう制限はない。 ども >>642 ということは、2つ以上のインデックスが活きるような検索なら、 MySQLよりかなり速いってことも有り得そうですね。 >>643 容量節約できるくらいじゃない? 適切なインデックスを張る前提だけど、そこは横着しないでしょ。ふつう。 一度のテーブルスキャンするのに使われるindexはどのDBMSでも 高々1つだと思うんだが、>>641 の制限ってどういう状況? 1クエリ内で同じテーブルを複数回スキャンする場合に1つの 同じindexしか使われないということなのか、あるいはそもそも 1クエリ内のindex scanはテーブル毎に1回ずつしか使われないと いうことなのか。 こんなスレがあったとは。 つかぬことをうかがいますが、MySQLとPostgreSQLでは、どちらがより省メモリでしょうか。 速いのはMySQLだそうですが、速さよりもメモリ消費量の少なさに興味があります。 「条件次第」といわれればそれまでですが、こんなときはMySQL or PostgreSQLのほうが省メモリだよー、というのを教えてください。 RDBMSにおけるメモリ使用量のほとんどはデータのキャッシュ領域なので (PostgreSQLでshared_buffers、MySQLでinnodb_buffer_pool_size)、 そこを少なく設定すれば省メモリになる。もちろんその分性能は下がる。 そこを同じ設定にしたと仮定すると、 PostgreSQLはマルチプロセスアーキテクチャ、 MySQLはマルチスレッドアーキテクチャなので、 データベースへの接続数が多い場合はMySQLの方がメモリ使用量は少ない。 >>632 php的には ?>残高は<?=$zandaka?>円です<? だろ。ちがうかw SELECT 〜 limit 100 とかした場合でも、条件に合う総件数を知りたい場合、 MySQLだとSELECT SQL_CALC_FOUND_ROWS 〜 とかやれば出来るんですけど、 PostgreSQLの場合はどうしたらいいんでしょ? SELECT count(*) OVER() ... LIMIT 100 overなる語も加えてぐぐってみました。 成程、ウインドウ関数とかいうものを使うのですね。 MySQLくらいしか知らなかった者では目が向かない部分でした。 ありがとうございました。 >>649 ポスグレのshared_buffersについて根本的に勘違いしてね? shared_buffersは共有メモリとして1つだけ確保、クライアントと接続するバックエンドプロセスは その共有メモリにアクセスするんだよ。MySQLのInnoDBと同じ。 バックエンドプロセス間の排他制御は様々な工夫がこらされて、パフォーマンスはとてつもなく向上してる。 ベンチマークはいろいろ公開されてるから調べるとよろし。 ポスグレのバージョンが古いけどそれでもMySQLより速いことが多いはず。 今ならもっと速い。MySQLもパフォーマンス向上してるけどさ。 ・メモリをたくさん設定するとディスクI/Oが減るので速い ・最近のバージョンではshared_bufferへのアクセス排他制御が良くなっているので速い という二つの話題が混ざっているんだな MySQL使うメリットってクラスタ組める以外に何かある? 千歳科学技術大学 グローバルシステムデザイン学科 深町 賢一 千歳科学技術大学 グローバルシステムデザイン学科 深町 賢一 千歳科学技術大学 グローバルシステムデザイン学科 深町 賢一 千歳科学技術大学 グローバルシステムデザイン学科 深町 賢一 千歳科学技術大学 グローバルシステムデザイン学科 深町 賢一 千歳科学技術大学 グローバルシステムデザイン学科 深町 賢一 千歳科学技術大学 グローバルシステムデザイン学科 深町 賢一 千歳科学技術大学 グローバルシステムデザイン学科 深町 賢一 千歳科学技術大学 グローバルシステムデザイン学科 深町 賢一 千歳科学技術大学 グローバルシステムデザイン学科 深町 賢一 千歳科学技術大学 グローバルシステムデザイン学科 深町 賢一 千歳科学技術大学 グローバルシステムデザイン学科 深町 賢一 千歳科学技術大学 グローバルシステムデザイン学科 深町 賢一 千歳科学技術大学 グローバルシステムデザイン学科 深町 賢一 千歳科学技術大学 グローバルシステムデザイン学科 深町 賢一 千歳科学技術大学 グローバルシステムデザイン学科 深町 賢一 千歳科学技術大学 グローバルシステムデザイン学科 深町 賢一 千歳科学技術大学 グローバルシステムデザイン学科 深町 賢一 千歳科学技術大学 グローバルシステムデザイン学科 深町 賢一 千歳科学技術大学 グローバルシステムデザイン学科 深町 賢一 千歳科学技術大学 グローバルシステムデザイン学科 深町 賢一 千歳科学技術大学 グローバルシステムデザイン学科 深町 賢一 語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~ 語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~ 語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~ 語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~ 語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~ 語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~ 語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~ 語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~ 語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~ 語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~ 語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~ 語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~ 語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~ 語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~ 語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~ それよりゴキブリ高専卒どもはワシにさっさと謝罪せんか! それよりゴキブリ高専卒どもはワシにさっさと謝罪せんか! それよりゴキブリ高専卒どもはワシにさっさと謝罪せんか! それよりゴキブリ高専卒どもはワシにさっさと謝罪せんか! それよりゴキブリ高専卒どもはワシにさっさと謝罪せんか! それよりゴキブリ高専卒どもはワシにさっさと謝罪せんか! それよりゴキブリ高専卒どもはワシにさっさと謝罪せんか! それよりゴキブリ高専卒どもはワシにさっさと謝罪せんか! それよりゴキブリ高専卒どもはワシにさっさと謝罪せんか! それよりゴキブリ高専卒どもはワシにさっさと謝罪せんか! それよりゴキブリ高専卒どもはワシにさっさと謝罪せんか! それよりゴキブリ高専卒どもはワシにさっさと謝罪せんか! それよりゴキブリ高専卒どもはワシにさっさと謝罪せんか! それよりゴキブリ高専卒どもはワシにさっさと謝罪せんか! それよりゴキブリ高専卒どもはワシにさっさと謝罪せんか! それよりゴキブリ高専卒どもはワシにさっさと謝罪せんか! それよりゴキブリ高専卒どもはワシにさっさと謝罪せんか! それよりゴキブリ高専卒どもはワシにさっさと謝罪せんか! 私が千歳科学技術大学 グローバルシステムデザイン学科 専任講師・理学博士:深町 賢一だが何か? 用があるなら、http://www.chitose.ac.jp/course/teacher/glo/000057.html mysqlがoracleに買われたことで ライセンスが変わって、 自社のパッケージに使ってた場合とか面倒なんでだんだんpostgresへの移行が進んでるね oracleは囲い込んだつもりだったんだろうが、 金払ったりベンダーに囲われたりするのが嫌なユーザが使ってるんだからそら逃げるわな 嫌われ者のoracle ライセンス変わったっけ? 特に誰も騒がなかったような。 Postgresってトランザクション中にPQprepareできないんだね 地味に不便 木階層構造がメインになるようなデータベースの場合には、 一般的に、WITH RECURSIVEのあるPostgreSQLが選ばれているのでしょうか? 本当に木構造なら、自分は Nested Set Model 使う。 もちろん PostgreSQL で。 >>679 ありがとうございます。 アートオブSQLの(たしか)pp.163のあたりに、 Celkoの階層構造は遅くて話にならない的なことが書かれていた記憶があるのですが、大丈夫ですかね? それとPostgreSQLを選ぶ理由は、こういう用途にMySQLは向かないからですか? データ自体の更新頻度や参照頻度や偏り等で、適切なアルゴリズムは変わってくるんじゃね どういう用途を想定してるの >>681 複雑な配線図のような構造を想定しています。 参照時には、指定したポイントの周辺の4親等くらいを取得、必要に応じてさらに展開表示といった形で。 おそらく更新:参照=1:9くらいで、周辺のリンクの展開にDBを特化したいです。 そうするとNested Set Modelでleftとrightを設定してMySQL上で動かすよりも、 PostgreSQLでWITH RECURSIVEを使って親子番号を展開するほうが、もしかすると圧倒的に速いのではないかと。 #正直、自分が扱いに慣れてきたfuelPHPの正式対応がMySQLなので、できればMySQLを使いたいのですが。 WITH RECURSIVEは記述が簡単ってだけで、ぜんぜん速くなりそうもないが。 >>683 再帰的with文はDB構造の問題でもあるので、 対応してあるDBならそれなりに最適化してあると思います そもそも速くなる構造じゃない。最適化といってもたかが知れてる。 MySQLは使いやすいし、.NETサポートもあるんだけど、スキーマが使えないのがねー 脱Accessの次には良いんだけど、スキーマがないとつらいよねー >>686 どういった意図でスキーマが必要といっているかわからないけど、 mysqlの場合1インスタンスに複数のデータベースを作成できるから代用できると思うけど。 MySQLはよく知らないけど、MySQLは複数のデータベースにあるテーブルを結合したりできるの? >>688 できるよ こんな感じ SELECT * FROM database_a.table_a as a , database_b.table_b as b WHERE a.id = b.id >>692 (´・ω・)カワイソス そういえば中古ソフトがかなり安く買えた 激安中古ソフト販売( ・∀・) イイネ! ググってみて カスケドレプリケションも出来た事だし、 もうポスグレでいんじゃね? MySQLはOracleさんが買い取って飼い殺しにした時点で将来がなぁ…。 だからPostgreSQLがいい!と断言はしないけど…。 告訴の趣旨 被告訴人は、以下に該当すると考えるので、被告訴人の厳重な処罰を求めるため告訴します。 職務経歴書を提示した事前面接を実施 または 偽装請負 または 偽装出向 労働者派遣法第26条(契約の内容等)、職業安定法第44条(労働者供給)に違反 多重派遣・多重出向 労働基準法第6条(中間搾取の禁止)に違反 疎明資料 事前面接日時、場所、出席者、資料のコピー、音声記録 就業場所・就業期間・就業時間 指揮命令 指示を誰が行っているかの記録、音声記録 仕事で使う道具や、資材の負担(所有)のあり方 業務で使用しているパソコン・備品などの所有者 契約書 請負、雇用契約書、出向指示など書面のコピー 刑事告訴ガイダンス ★痴漢も民事でなく刑事事案ですが、裁判所が和解金を被害者に支払わせて解決するのが絶対的過半数です。和解で解決しない事案、つまり公訴までいって判例となる事例を探すほうが難しいことでしょう。 ★録音は一方の当事者が取る限り合法です。※加害者に録音の同意を求める必要はありません。 ★告訴状を検察に提出しても受理されなければ加害者側には知られることはありません。不受理の場合は何事も起きてないように粛々と振る舞ってください。 ★告訴を取り下げるとき検察に提出した資料は全て返却されます。また検察があなたが提出した証拠をあなたの許可なく裁判の証拠として使用はできません。告訴を取り下げたのちの録音資料には当事者の立場が失われるため証拠能力はありません。 ★和解時に告訴した事実は秘匿事項となります。犯罪者が秘密保持契約に違反した場合の損害賠償金は「即決和解」か「公正証書」で最低5000万円〜にしましょう。支払いを拒否すれば強制執行手続きを(裁判不要)してください。 ★派遣会社や事業会社が同業者に貴方の情報をリークしたなら同業者(又は競合他社)に弱みを握られることになります。 余程信用のおける相手でなければ、リークはできないでしょう。信頼のおける方にしても、その方の口が軽ければ、いずれ事実は分かります。 ★リークの情報を得た事業者のなかには、リークの事実を貴方に教えてくれる方がいるかもしれません。その際は損害賠償金で得たお金の3割程度を謝礼金として渡してください。 今はInnoDBでも SELECT COUNT(*) FROM table これの結果の正確な値をしゅぱっと素早く返してくれるようになってるんすか? 三年位前に使ったときはそうでもなかったけど。 ポスグレっていまだに.NETのデザインタイムサポートが実装されてないのかぁ 惜しいねぇ〜 PHPと合うのは、MySQLですか?それともPostgreSQLですか? >>706 関数とかの対応状況はどっちも同じじゃないかな? 「今は」ね >707 「今は」ですか MySQLにライセンス料が発生したら、PostgreSQLに流れますかねぇ それともオブジェクト指向DBが取って変わるかも ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる