X



MySQL vs PostgreSQL
0001名無しさん@お腹いっぱい。
垢版 |
2001/05/09(水) 02:02ID:???
結構興味ある人多いのでは?
俺はもう少しMySQLが評価されてほしいと思うけれど、PostgreSQLも好き。
語ってくださいな。
0003名無しさん@お腹いっぱい。
垢版 |
2001/05/11(金) 04:18ID:???
まあまあ、そう言わず。
どっちがいいの?。でもいいし、いろいろ比較してくださいって趣旨でお願い。
けんかしてくれってわけじゃないんだしさ・・・
一昨年位に予算がなくてフリーのデータベースで開発しなきゃならないことが決まって
そのときはまだあんまり資料がなくてどっちがいいのかすごく悩んだもんです
0005名無しさん@お腹いっぱい。
垢版 |
2001/05/14(月) 20:27ID:5jnG.Wb6
MySQLも去年からライセンスがGPLになったので、ほんとに用途だけを考えて
選べるようになりましたね。

トランザクション機能が不要なら、MySQLが圧倒的に速いと聞きましたが。
0006名無しさん@お腹いっぱい。
垢版 |
2001/05/14(月) 21:21ID:YqqCadMo
>>5
>トランザクション機能が不要なら、MySQLが圧倒的に速いと聞きましたが。

これ良く聞くけど、オプティマイザの性能はどうなんでしょう?
簡単なSQLは獏速だけど、ちょっと複雑なクエリーは超遅だと、
用途によっては使えない気が。

テーブル2,3個のJoin位だったら速いんだろうけど。
0007名無しさん@お腹いっぱい。
垢版 |
2001/05/15(火) 12:28ID:RxTEsH8A
MySQL、なんでトランザクション使うのにBerkeleyDBが必要なんだろう、、、
正式版では不要にならないのかな?
設定イヤイヤ厨房でスマンス。
開発はWin上使うし、、、
0008電動ナナシ
垢版 |
2001/05/15(火) 14:35ID:???
>>6
DBM/CSV の代替的な用途、例えばフィルタ・ソート機能つき DBM/CSV として
使う人が多いんじゃないかと思う。

そういう目的に特化しているんじゃないかな。Transaction がない時点で
複数テーブルにまたがる同時更新の保証がないわけだし。
# MySQL って更新可能な View ってあるかな・・と思ったら View の
 定義はできない?。

>>7
MySQL の Transaction は BerkeleyDB のトランザクション機能を使って
実装されているから。
0011電動ナナシ
垢版 |
2001/05/16(水) 15:34ID:???
まあ View 使わないと管理できないような複雑なスキーマを作るなという
神の啓示だと思うことにしよう。
0012名無しさん@お腹いっぱい。
垢版 |
2001/05/18(金) 11:04ID:f4DGbXZU
>MySQL の Transaction は BerkeleyDB のトランザクション機能を使って
>実装されているから。

なるほど。失礼しました。
Windowsでも使えるのかな、、、って自分で調べなさい>おれ
0014電動ナナシ
垢版 |
2001/06/19(火) 13:11ID:???
ファイル名から "+" を削ってみたら?
ファイル名を 8 文字の適当な名前にしてみたら?

解凍ソフトの問題じゃないのか?
0017電動ナナシ
垢版 |
2001/06/19(火) 16:32ID:???
こっちも Windows2000 + WinZip だが問題なく開けるぞ。
0018電動ナナシ
垢版 |
2001/06/19(火) 16:31ID:???
こっちも Windows2000 + WinZip だが問題なく開けるぞ。
0019名無しさん@お腹いっぱい。
垢版 |
2001/06/19(火) 18:35ID:???


  ハハハ
  ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ^∀^)<  あほか
 ( つ ⊂ ) \_________
  .)  ) )
 (__)_)     (^∀^)ゲラゲラ キエロ カイセンキッテクビモキレ ケラ
0020名無しさん@お腹いっぱい。
垢版 |
2001/06/24(日) 05:51ID:h75OaKWc
時刻の順番おかしくない?
>>17 名前:電動ナナシ 投稿日:2001/06/19(火) 16:32 ID:???
こっちも Windows2000 + WinZip だが問題なく開けるぞ。

>>18 名前:電動ナナシ 投稿日:2001/06/19(火) 16:31 ID:???
こっちも Windows2000 + WinZip だが問題なく開けるぞ。
0021名無しさん@お腹いっぱい。
垢版 |
2001/06/24(日) 17:51ID:kZhIDqWo
確かにおかしいな(藁
0022名無しさん@お腹いっぱい。
垢版 |
2001/06/25(月) 17:18ID:???
LinuxでMySQL動かしてます。もう、めんどくさいのでWindowsクライアントから
ODBCつかってメンテしようと思いましたが、localhostからの
接続以外はできないようです。どの設定をいじればいいのでしょうか?
0024名無しさん@お腹いっぱい。
垢版 |
2001/06/25(月) 18:27ID:???
  ハハハ
  ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ^∀^)<  あほか
 ( つ ⊂ ) \_________
  .)  ) )
 (__)_)     (^∀^)ゲラゲラ キエロ カイセンキッテクビモキレ ケラ
0027名無しさん@お腹いっぱい。
垢版 |
2001/06/26(火) 15:45ID:???
つまり、
grant select, insert, update, delete, create, drop
on *.* to root@"*" identified by 'PASS';
で更新し、その後再起動してもODBCアクセス拒否されて、
ユーザー権限確認したいのですが・・・。
0028名無しさん@お腹いっぱい。
垢版 |
2001/06/27(水) 16:36ID:???
ODBCの前にWin版コンソールクライアント(mysql.exe)で接続試してみたら?
Win版クライアントでLinux版サーバにログインできるのか知らないけど。
無責任resスマソ
0033名無しさん@お腹いっぱい。
垢版 |
01/09/27 01:05ID:???
なんで MySQL は FreeBSD 3.5.1 で make できないんじゃぁゴルゥァ!

Making all in client
gmake[2]: Entering directory `/usr/local/src/mysql-3.23.42/client'
c++ -DUNDEF_THREADS_HACK -I./../include -I../inc
lude -I./.. -I.. -I.. -O3 -DDBUG_OFF -fno-im
plicit-templates -fno-exceptions -fno-rtti -DMYSQLD_NET_RETRY_COUNT=1000000 -c m
ysql.cc
cc1plus: Invalid option `-fno-exceptions'
In file included from mysql.cc:28:
../include/global.h:671: warning: abstract declarator used as declaration
gmake[2]: *** [mysql.o] Error 1
gmake[2]: Leaving directory `/usr/local/src/mysql-3.23.42/client'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/usr/local/src/mysql-3.23.42'
gmake: *** [all-recursive-am] Error 2
0034JAPU
垢版 |
01/09/27 04:58ID:???
ports 使ってもダメ?
# 3.x は公式にはサポートされないけど。
0038名無しさん@お腹いっぱい。
垢版 |
01/09/29 15:29ID:5KIVk8mo
>>サクラのサーバ?
0039名無しさん@お腹いっぱい。
垢版 |
01/09/29 15:30ID:5KIVk8mo
間違えた
>>33だった
0042_gunzip
垢版 |
01/09/29 23:40ID:???
>>40
http://www.mysql.gr.jp/jpdoc/3.23/manual.ja_Installing.html#Installing_source

gccが古くて
> cc1plus: Invalid option `-fno-exceptions'
-fno-exceptionsフラグが通らない?

Makefileの
CXXFLAGS = -O3 -DDBUG_OFF -fno-implicit-templates -fno-exceptions -fno-rtti
から"-fno-exceptions"を削除すれば通るかも知れないが...。(./configureの際、-fno-exceptionsが通るかどうかチェックされるはず)
004333=35=36=37=40
垢版 |
01/09/30 03:01ID:???
>>41
あ、ホントだ。どっちで聞けばいいんでしょう?

>>42
そうです。gcc が古いんですか…
でも configure は通るんですが…。

ちなみに-fno-exceptions というフラグはつけなくても問題ないもんなんでしょうか?
004744
垢版 |
01/10/01 13:10ID:???
>>45
よくわからないまま
./configure --prefix=/usr/local --with-charset=sjis --with-extra-charsets=all
make
make install
とやっただけです。
004845
垢版 |
01/10/11 18:18ID:???
gcc295 にしたらすんなり通りました _o_

ところでこれまでずっと PostgreSQL しか使ったことなかったんですが、
PostgreSQL で言うところの

createdb
createuser

コマンドを MySQL 語に訳すとどうなるんでしょ?
ポインタでも結構です。
004945
垢版 |
01/10/11 18:29ID:???
>>48
下げちゃったので age させて。スマソ
0050あのー
垢版 |
01/10/12 00:48ID:CsQjZMa6
MySQLのWin版がが公式ページやミラーから
ダウンロードできないのですが、なぜでしょうか?
一刻も早くMySQLユーザになりたいっす
0053名無しさん@お腹いっぱい。
垢版 |
01/12/27 09:25ID:2lhyt/fq
MySQL-ODBC-BDE-TDatabase-TQuery-TDataSource-データベースコンポーネント
だと、同じレコードを編集すると、他のユーザが編集しましたエラーになっちゃうよ。
0054名無しさん@お腹いっぱい。
垢版 |
01/12/27 22:32ID:???
Win2000でFreeDB使おうと思って、PostgreSQLとMySQLを試したんだけど、
PostgreSQLのWin32ネイテチブ版は、initdbはできてもpostmasterが動かなかった。
Cygwin版も、結局起動まで逝けなかった。
漏れの設定が悪いんだと思うんだけど、MySQLはめんどいことせずにサクっと動いたから、そのまま使ってる。
Win2000 + MySQL for Win32 + WebObjectsで、社内システム作ってるよ。今までWebLogic使ってたんだけど、いいねぇ、WebObjectsって。
お値段安いのに、基幹系も対応できるみたいだし。(もちろんOSがWin2000じゃだめだけどさー、Solarisでも使えるしね)
0055名無しさん@お腹いっぱい。
垢版 |
01/12/28 12:03ID:AtMqdGK/
WebObjectsとMySQLの接続は何でやってるの?>>54
0057名無しさん@お腹いっぱい。
垢版 |
02/01/13 22:52ID:NvlGFTwS
こういう良スレはアゲようね(は〜と)
0059名無しさん@お腹いっぱい。
垢版 |
02/02/20 11:53ID:jAY1XP3h
誰かPostgreSQLの「継承機能」使い込んでる奴いる?
PostgreSQLオリジナルらしいんだけど、使いどころがよくわからん。。。
0060名無しさん@お腹いっぱい。
垢版 |
02/02/20 12:23ID:???
MySQLのトランザクションってInnoDBでの実現が主流になるの?

漏れBerkeley DBを単独で使った事もあってトランザクション処理はか
なり信頼してるんだけど。
0061nobodyさん
垢版 |
02/03/03 19:52ID:d/Vs7EZ1
MySQLでDBに接続しているマシンを知りたい場合
どうすればよいの???
oracleのv$sessionみたいなやつってなぁい???
0062nobodyさん
垢版 |
02/03/03 21:15ID:???
>>54 は基幹系ってどういうものか知らないに一票。
0063nobodyさん
垢版 |
02/03/03 23:09ID:JvCjwWq9
>>60
InnoDBなら、150万レコード読み書きばりばりの実績があるんで
BDBよりInnoDBの方が個人的には信頼できる感じ。

>>61
show processlist; かな
0064nobodyさん
垢版 |
02/03/04 02:46ID:aSAN1Dyh
「DBMS、mSQL、MySQL、PostgreSQLを比較する」
「その4」を書く予定で「その3」の文末が締めくくられているが、「その4」は書かれていない。
http://japan.internet.com/linuxtutorial/20001125/1.html
http://japan.internet.com/linuxtutorial/20001209/1.html
http://japan.internet.com/linuxtutorial/20001216/1.html

「基幹業務にオープンソースのでDBは使えるか」
http://japan.internet.com/linuxtutorial/20020219/1.html

「Webサイトのバックエンドとしての PostgreSQL」
http://japan.internet.com/linuxtutorial/20020222/1.html
0065nobodyさん
垢版 |
02/04/15 17:17ID:Y50/HiMb
MySQLってVIEWもサブクエリー使えないの!ショックだよ!
0066nobodyさん
垢版 |
02/04/24 22:41ID:???
>>65
そもそも、VIEWもサブクエリーも本当にそれ以外の解決法がないのか調査せよ。
0067nobodyさん
垢版 |
02/04/25 15:24ID:e1QGMeHX
MySQLのトランザクションって読み取り一貫性あるの?
0068nobodyさん
垢版 |
02/04/25 15:34ID:7OgUmN66
つーかMySQLにトランザクションなんてあるの?
0069nobodyさん
垢版 |
02/04/25 16:49ID:H/XSRPXK
>>67
>>68
MySQL-MaxはSERIALIZABLEまでサポートしているよ
0070nobodyさん
垢版 |
02/04/26 01:46ID:aKJw6oZ3
BDBがサポートされてから何年も経つのに、いまだに「MySQLにトランザクションはない」
って言う人絶えないよね。どっから情報が流れてるんだろ? 単行本?
0071nobodyさん
垢版 |
02/04/26 01:49ID:uBZvlRFd
>>70
書籍とか、MySQLを使ってみた感想などを書いているWebサイトとか、
いっぱいありますからね。
ほんとに困ったもんです。トホホ。
0072nobodyさん
垢版 |
02/04/26 01:55ID:???
でも、BDB使うならMySQL使うメリットもないなぁ。
0074nobodyさん
垢版 |
02/04/27 14:45ID:40Y3gDf/
BDBとかInnoDBとか含まれてるらしいけども
それが含まれてトランザクションとか使えるようになったわけだよね?
なにやら設定だとかも特別に必要だとか。
管理とかめんどくさくなったりするの?
0075nobodyさん
垢版 |
02/04/27 23:16ID:WvEh4JFD
>>66
下手に正規化するよりかは、テーブルを冗長気味に作ったほうがいいと
いうことだねぇ、たぶん
0076nobodyさん
垢版 |
02/04/28 00:36ID:???
>>74
特別な設定は全く無いとは言わないけど、ほんのちょっとだよ。
CREATE TABLE文の最後に、Type=InnoDB とか付け加えれば、そのテーブルは
トランザクションに対応したInnoDBテーブルになる
00771
垢版 |
02/04/28 16:45ID:C3o4tOYE
すごい長寿スレだw 
あんまりこないのだけれど、この板じゃこのくらい普通なの?

>>70
何年も経たないでしょ? BDBが使えるようになってちょうど2年くらい?
だし、使えることは事実としても、PostgreSQLではなくBDBやInnoDB使用
のMySQLでトランザクションを使うメリットってある?

俺の認識ではやっぱりMySQLはMyISAMでトランザクション処理が必要ない
場面でこそ真価を発揮すると思っているのだけれど・・・
0078nobodyさん
垢版 |
02/04/28 22:52ID:???
PostgreSQL使いから見ると、MyISAMとかBDBとかInnoDBとかとMySQLとの関係が分からんのだけど、
そこら辺まとめて解説してあるWebページとかある?
どういう仕組みになってるの?
00791
垢版 |
02/04/28 23:53ID:Nql8g44v
>78
MySQLの場合、あらかじめテーブルの形式を選んでおく必要がある。
デフォルトはMyISAMという形式で、検索・更新は速いのだけれど
トランザクションが使えなかったり、色々制約がある。
BDBやInnoDBはトランザクションが使える形式だけれど、MyISAMより
遅いのとフルテキスト・インデックスが作れないとか、これまた制約
がある。

↓英語と日本語混じりだけれど、一番詳しいのはここかな?
http://www.mysql.gr.jp/jpdoc/4.0/manual.ja_Table_types.html
0080nobodyさん
垢版 |
02/04/29 00:12ID:L8KHf1nv
>>77
PostgreSQL使う必要がなくなるよ。
0081nobodyさん
垢版 |
02/04/29 00:42ID:oAtRhIR1
>>80
MySQLのウリって速さなのに、その速さをわざわざ殺して…、ってことじゃないんでしょうか、
多分。
0082nobodyさん
垢版 |
02/04/29 01:01ID:6cDOgkjX
>>80
おれもPostgreSQL使いなんだけど、MySQLはトランザクション使えないとか、
速いだけ、とかいう印象だったわけ。どうやら間違いだったようだけど、
ただ、79の書き込みを読む限りでは、PostgreSQLを使う必要が無いのかもしれないけど、
あえてMySQLを使う理由というのもどうも見当たらない。
むしろテーブルを定義する際にBDBやらInnoDBやら設定しなければならないというが
多少抵抗有り。
その辺MySQL使いの人はどう考えてんだろ?
0083nobodyさん
垢版 |
02/04/29 11:35ID:L8KHf1nv
>>81
私が使った感触では、InnoDBテーブルにしても特に遅くなったと
は感じなかったよ。

PostgreSQLは、データベースのサイズが大きくなるほど、リニアに
性能が劣化するらしいのだが、ほんと?
0084nobodyさん
垢版 |
02/04/29 13:12ID:???
InnoDBは知らないけど、BDBはかなり落ちるでしょ?
つか、開発陣もそう明言してたような。
0085nobodyさん
垢版 |
02/04/29 13:18ID:ohqYmtGy
>>83
>私が使った感触では、InnoDBテーブルにしても特に遅くなったと
>は感じなかったよ。

 トランザクションをサポートすると、DBの内部構造が大幅に変化する。

 どういうことかと言うと、ロールバック・セグメントに一旦データーを
書き込んで、COMMIT後にディスクに書き出しを行うようになる。
 つまり、トランザクションをサポートするとディスクの読み書きが倍に
なるので、DB性能が劣化しないほうが基本的におかしい。

 もしかしたらロールバック・セグメントをメモリー上に保持する構造な
のかも知れないけど、その場合はまた別に問題がでそう。

>PostgreSQLは、データベースのサイズが大きくなるほど、リニアに
>性能が劣化するらしいのだが、ほんと?

 フル・テーブルスキャンなら、どんなDBでもサイズに比例。

 いいたいことは、DELETEを繰り返すとゴミ掃除しないと遅くなると
いった特性のことだと思う。
 これは読み取り一貫性の実装の為で今のバージョンはオンラインで
ゴミ掃除できるから基本的に問題無し。

 PostgreSQL使いとしては、MySQLもInnoDBで色々出てくる問題もあ
るんだろうなと思う。
0086nobodyさん
垢版 |
02/04/29 14:10ID:L8KHf1nv
>>85
だ・か・ら ほとんど変わんなかったんだよ
0087nobodyさん
垢版 |
02/04/29 14:33ID:L8KHf1nv
PostgreSQL用のJDBCドライバって、使えるシロモノなの?
こんな問題があるとか、知ってる方いらっしゃいませんか?

EJBなどを使ってアプリケーションサーバーと組み合わせて使おう
かと考えているのですが...。
0088nobodyさん
垢版 |
02/04/30 00:24ID:???
>82
sub-selectやviewやストアド使えないのって、
普段使ってる人には結構痛いような。。。
0089nobodyさん
垢版 |
02/04/30 01:02ID:On4duFT+
>>88
select * from products where price in ( select max( price ) from products )
(これあってたっけ?)
とかさ、どうやって実現すんだろうか…
いや、SQL文を二回発行すればいいっていうのは分かるけど
0090nobodyさん
垢版 |
02/04/30 01:10ID:fm61+/4G
Postgresってreplication出来るの?
0091nobodyさん
垢版 |
02/04/30 01:27ID:On4duFT+
>>90
レプリケーションってAccessも備えているアレだな。

Postgres は DB稼動させたままDUMPできるからな。
WALもあることだし、まあなんとかなるんじゃないかと。
0092nobodyさん
垢版 |
02/04/30 02:19ID:???
>90
同期レプリケーションはないです。

PostgresのProxy的に動くUsogresというものはあって、
こいつは一つのクライアントからのクエリを二つのサーバに送ります。
「リアルタイムバックアップ」と称しているようです。

あと、Postgresのcontribの中にrservというものがあって、
こいつはトリガを利用して、更新を自身のDBの中にログとして保存し、
クライアントからpollすることで非同期なレプリケーションを
実現します。

ただし、複雑なトランザクションは後方参照があった場合にどうなるのかは
よく分かりません。
0093nobodyさん
垢版 |
02/04/30 02:21ID:???
訂正。

> ただし、複雑なトランザクションは後方参照があった場合にどうなるのかは

ただし、複雑なトランザクションや後方参照があった場合にどうなるのかは
0094nobodyさん
垢版 |
02/04/30 05:40ID:cIvpnxu+
>>89
> いや、SQL文を二回発行すればいいっていうのは分かるけど
なら二回発行しろよ!
っていうのが、MySQLの基本思想だと認識してる。その辺が個性的で好き
0095nobodyさん
垢版 |
02/04/30 09:02ID:hqeE3hHP
>>94
 二回発行すると、DBとの通信部分で遅くってしまうという罠
0097nobodyさん
垢版 |
02/04/30 10:15ID:???
>91
WALですが、チェックポイントを通過した部分は再利用されるので、
アーカイブログ的な使い方はできません。あくまでエラーリカバリ用でしょう。

差分バックアップ、あるいはアーカイブログは
今後のPostgresの大きなテーマだと思います。
0098nobodyさん
垢版 |
02/04/30 10:33ID:hqeE3hHP
>>97
 RMAN嫌い。そしてハードウェアRAID使え。
0099nobodyさん
垢版 |
02/04/30 10:47ID:???
すんまそん。前の文の意味が分からんのです。
0100nobodyさん
垢版 |
02/05/02 11:40ID:???
>>99
DBとかアプリケーション単体のレベルじゃなくて、ハードディスクごと二重化しちゃえって
ことでしょ
レスを投稿する


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