トップページ⇒tech
647コメント186KB

MySQLってどうよ

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
語ってくれ
0191デフォルトの名無しさんNGNG
age
0192PostgreSQL使いNGNG
>92
@ITに記事あったよ。http://www.atmarkit.co.jp から探してみ。
0193PostgreSQL使いNGNG
あ、しまった。全然遅レス…。鬱氏…。
0194デフォルトの名無しさんNGNG
まぁ〜だmysql4、stableでないの?
0195デフォルトの名無しさんNGNG
質問いいでしょうか?
mysqlでテーブルを作ってデータを入れ込みました.
このテーブルに使われているデータ要領がどのくらいか
しらべるSQLコマンドはありますか?
ちなみにレンタルサーバ上のDBです.
0196ageNGNG
age
0197デフォルトの名無しさんNGNG
このスレ人気無いな。
0198デフォルトの名無しさんNGNG
MySQLのドライバーってmmの方はResultSet#updateXxx()
に対応しているけど、gweは対応してないよね。

この機能があるかないかではかなり違う気がするんだけど。
0199デフォルトの名無しさんNGNG
私は今まで更新は全てSQLで行ってまして、ResultSet#updateXxx()は
使ったことないんですが、どういう場面でその機能を使うのでしょうか?
0200デフォルトの名無しさんNGNG
>>199
RowSetが絡み始めるとかなり違うよ。
0201デフォルトの名無しさんNGNG
>> 198
gweMysql JDBC Driver の 更新可能なResultSetですが、随分前に実装
を開始したのですが、仕事が忙しくなりすぎて、作業が止まってます。
そんなに、需要が無いだろうと思っているのですが、どうなんでしょ?
0202デフォルトの名無しさんNGNG
[email protected]
メボムかも〜ん
0203198NGNG
>>200
RowSetは便利そうですね。(使ったことはないですけど)
RowSetについてちょっとAPIのJavaDocを見てみたのですが、
これってコネクションはRowSet自身が取得しに行くのですか?
DataSourceから取得したコネクションは使えないのでしょうか?
また、RowSetのインスタンスはどの様に生成するのでしょうか?
質問ばかりで済みません。

>>201
もしかしてDriverの開発者さんですか?
もしそうであれば、応援してますのでこれからも頑張って下さい。
更新可能なResultSetですが、私もどの様な場面で使うのか
が分かりませんでした。
0204デフォルトの名無しさんNGNG
>> 203
>> もしかしてDriverの開発者さんですか?
そうです。がんばります。(^^)
0205デフォルトの名無しさんNGNG
>> 203
>>これってコネクションはRowSet自身が取得しに行くのですか?
>>DataSourceから取得したコネクションは使えないのでしょうか?
RowSetはinterfaceのみ規定していますから、絶対言い切れないですが、
一般的には、DriverManager経由か、JNDI経由で、何かしらのConnectionを
取得すると思います。

>>また、RowSetのインスタンスはどの様に生成するのでしょうか?
具体的なクラス名を使用して、new gweMysqlRowSet() とするとか、
Class.forName("gwe.sql.gweMysqlRowSet").newInstance() と
することになるのではないでしょうか
0206デフォルトの名無しさんNGNG
lookupするんだよ。
0207デフォルトの名無しさんNGNG
MySQLは名前がかっこ悪い。
マイコンピュータとか、マイネットワークを連想させる。
0208デフォルトの名無しさんNGNG
PostgreSQLはカコイイ
0209デフォルトの名無しさんNGNG
>> 198
gweMysqlのResultSetで、ResultSet.CONCUR_UPDATABLE に対応したよ。(^^)
0210 NGNG
MySQLってストアドみたいな機能ってないよね?
0211デフォルトの名無しさんNGNG
ここはしお韓か?
0212デフォルトの名無しさんNGNG
>> 200
javax.sql.RowSet で、updateXxx() を使うというのは、よく分かりま
せんが、果たして使えるのでしょうか?
具体的な使用方法を教えていただけませでしょうか?
0213デフォルトの名無しさんNGNG
>>210
ないね。
やりたきゃ自前でWEBサービス走らせてスマートクライアントからSOAPで、といってみるテスト。
0214デフォルトの名無しさんNGNG
>>212
たしかRowSetってConnection切っても、
updateXxx()をできるんじゃなかったけ?
0215デフォルトの名無しさんNGNG
なんかgwe、異様に機能upしていない?
0216デフォルトの名無しさんNGNG
>>214
RowSetをネットワーク間で転送して、そこでupdateXxx()するということ?
このときには、どこに接続して更新するの?
0217デフォルトの名無しさんNGNG
>>215
がんばってます。(^^)
0218デフォルトの名無しさんNGNG
>>216
1.4のAPIを見たら?
0219デフォルトの名無しさんNGNG
>>218
引用したようなことだと思いますが、gweに実装してみましょうか?
再接続するタイミングとか、再切断するタイミングとか、トランザクション
の制御とか、どうなんでしょ? 実装依存かな?
--- 引用 -------
Such a rowset is called a disconnected rowset. A disconnected rowset
may make changes to its data while it is disconnected and then send
the changes back to the original source of the data, but it must
reestablish a connection to do so.
--- 引用 -------
0220デフォルトの名無しさんNGNG
>>219
マジっすか? RowSet実装!?
すごすぎます!

http://developer.java.sun.com/developer/Books/JDBCTutorial/chapter5.html
http://java.sun.com/products/jdbc/jdbc20.stdext.pdf
あたりが参考になるかと
0221デフォルトの名無しさんNGNG
>>220
RowSetはすでにgweMysql Driverで実装してます。
今回はさらにUPDATABLEなRowSet実装にしようかと思っております。
0222デフォルトの名無しさんNGNG
基本情報受ける香具師、SQL勉強したか?
俺全然やってNEEYO!
0223デフォルトの名無しさんNGNG
基本情報のSQLなんて勉強しなくても問題ないでしょう。
0224デフォルトの名無しさんNGNG
すみません。質問させていただけないでしょうか。

winmysqladminを実行するとサービスが開始されます。
それはいいのですが、アイコン右クリックで「Stop the Service」をすると、
サービスが自動起動になってしまいます。これをやめるには、右クリックで
「Remove the Service」とすればよいようです。
しかし、これを毎回繰り返すのは鬱です。
「Stop the Service」をしてもサービスが自動起動にならない方法って
あるのでしょうか。

よろしくお願いします。
0225デフォルトの名無しさんNGNG
>>220
gwe.sql.gweMysqlRowSet を UPDATABLEなRowSet実装にしました。
0226220NGNG
幸せになりました

しかし、gweの実装で結構しっかりしてる
Connction Poolingのあたりもしかりやってあるし
Connector/Jは、結構つらい

DataSourceのjndi経由って実際みんな使ってるんでしょうか?
RowSetが使いたいので、jndiでやってますが、
基本的にはDriverManagerの方が多いんでしょうね

Jakarta、DBCPのGenericDataSourceみたいな実装って
ドライバーレベルでは反則なんでしょうか? やっぱり
0227デフォルトの名無しさんNGNG
>>220
Connector/J(旧MM.MYSQL)の作者(Markさん)も、かなり私に触発されて
コードを改善しているみたいですね。
以前、Markさんに開発に参加しないかと誘われましたが、ソースが汚い
ので、お断りしました。(^^;
0228デフォルトの名無しさんNGNG
gwe最高です。
これからも開発頑張って下さい。
0229デフォルトの名無しさんNGNG
ドライバ作者さんがいらっしゃるようなので質問があります。

別スレッドにConnectionを渡し、クエリーを発行します。
クエリー実行中に、Connectionを任意にclose()した場合ってどうなります?

なんか同期化のコードがないような気がするので。
0230デフォルトの名無しさんNGNG
複数のワーカースレッドでConnectionを共有する場合(スタンドアロンなど)、
任意に止めたいので、メインスレッドでclose()すると、
それぞれのワーカーで例外をキャッチできないのでしょうか?
0231デフォルトの名無しさんNGNG
>>229
別スレッドからいきなりclose()を呼ぶことはあまりないでしょうが、
あえて呼ぶなら、クエリー発行側のスレッドでSQLExceptionが発生する
と思います。
0232デフォルトの名無しさんNGNG
>>229
同期化のコードって、具体的にはどのような同期化でしょうか?
(何かを)同期化することで、クエリー中は別スレッドからのclose()メソッドの
コールがブロックされるような動作のことでしょうか?
0233デフォルトの名無しさんNGNG
MySQLってOracleで言うUnion文書ける?
バージョンが古いのかな?
0234デフォルトの名無しさんNGNG
>>231
Thread#stop()で止めれない状況だったので、close()で止めたかったわけです。
Socket#close()のように。

試すと確かにクエリー発行側スレッドでSQLExceptionが発生します。
しかし、複数のスレッドでConnectionを共有した場合不定のようです。
0235デフォルトの名無しさんNGNG
>>234
>>複数のスレッドでConnectionを共有した場合
フツーはこんなことしないと思いますが。。。。。。(^^;;;;;;
0236デフォルトの名無しさんNGNG
普通だよ。
0237デフォルトの名無しさんNGNG
>>236
共有すると何かいいことあるんでしょうか?
また、共有しなければならない理由とかも教えていただけますか?
0238 NGNG
MyConには 負けます(謎)
0239デフォルトの名無しさんNGNG
Connection処理用のスレッドを作って、処理を集中して任せた方がいいと思うが。
0240デフォルトの名無しさんNGNG
>>234
なぜ複数のスレッドでConnectionを共有しているのでしょうか?
0241デフォルトの名無しさんNGNG
Apache + PHP + MySQL + ZOOPS
これ最強!!!
MySQL、どーして日本で流行らんかねぃ〜。
Winでも使えるからいっぺんだまされたと思って使ってみ。
あと、ZOOPSモナ。
0242デフォルトの名無しさんNGNG
>>241
ZOOPS って何すか?
0243デフォルトの名無しさんNGNG
XOOPSでないかな。
0244デフォルトの名無しさんNGNG
>>241
はやらんよ。
SQL、貧弱すぎ
0245 NGNG
>>241

ああ〜〜 だまされたー だまされたー
0246デフォルトの名無しさんNGNG
〉〉245
騙されてない、騙されてない。
使える、使える(ワラ
0247デフォルトの名無しさんNGNG
Connector/J 3.0.1 Beta では
----
This version of the driver also supports large packet sizes
(up to the limits of your server) when you're using MySQL-4.0
----
と書かれているな...。
gweMysqlでも対応するべきか...
0248デフォルトの名無しさんNGNG
gweMysql と Connector/J 3.0.1 Beta のプロファイリングを行ってみました
http://www.t3-jpn.com/jdbc/profiling2.html
0249Name_Not_FoundNGNG
Javascript は Web 制作板、CGI は Web プログラミング板へ。
Javascript は Web 制作板、CGI は Web プログラミング板へ。
Javascript は Web 制作板、CGI は Web プログラミング板へ。
Javascript は Web 制作板、CGI は Web プログラミング板へ。
Javascript は Web 制作板、CGI は Web プログラミング板へ。
0250デフォルトの名無しさんNGNG
ネタ は プログラマー板、 エディタ は ソフトウェア板へ。
ネタ は プログラマー板、 エディタ は ソフトウェア板へ。
ネタ は プログラマー板、 エディタ は ソフトウェア板へ。
ネタ は プログラマー板、 エディタ は ソフトウェア板へ。
ネタ は プログラマー板、 エディタ は ソフトウェア板へ。
0251デフォルトの名無しさんNGNG
現状を見て「はやらんよ」と言える>>244はある意味すごい。
0252デフォルトの名無しさんNGNG
おまいらOurSQLって知ってる?
何の気なしにGoogleに打ち込んでみたら引っかかってきたんだが。
0253デフォルトの名無しさんNGNG
一応MySQLと関連があるみたいだな
0254デフォルトの名無しさんNGNG
これほどダサいネーミングは久々に見た。
サブジェクト指向以来だよ。
0255デフォルトの名無しさんNGNG
ちなみにHisSQLとHerSQLは俺が商標登録する予定なんで
おまいら勝手に使わないように。
0256デフォルトの名無しさんNGNG
YourSQLは使っても良いか?
0257デフォルトの名無しさんNGNG
TheirSQLは使っても良いか?
0258デフォルトの名無しさんNGNG
HisOrHerSQLは登録済みでしょうか?
0259デフォルトの名無しさんNGNG
gweMysqlってなんでオープンソースじゃないの?
いや別に、使ってないから気にしないけどね。
0260デフォルトの名無しさんNGNG
>>259
フリーですよ
0261デフォルトの名無しさんNGNG
>>259
copyright.txt を読んでみて。
たまに外国から、sourceforge に登録したほうがいいんじゃない? とメール
が来るが、いまのところやってない。
0262デフォルトの名無しさんNGNG
MySQLと言うよりJavaの話になってしまいますが、ドライバの開発者さんもいらっしゃる
ようなので質問させて下さい。

Tomcat4.1&MySQLでコネクションプーリングをさせたいのですが、具体的にどのように
すればよいのでしょうか?
JDBCドライバはgweMysqlの「JDBC Driver for MySQL with JDBC3.0(JDK1.4) & J2EE」
を使用しています。

私の認識ではプーリング機能を使用する場合でもアプリケーション側のコードは変更
する必要はなく(JNDIで普通にDataSourceをルックアップ)、プーリング機能を実装した
DataSourceを提供するFactoryがあり、それを使用するのかなーと思っているのですが
間違っていますか?でもそのFactoryがなんなのかが分かりません・・・

そもそもドライバがJDBC3.0を実装していても、コンテナがサポートしていなければ
プーリング機能は使えないのでしょうか?

JDBCはなんか漠然としていてむずかしいです・・・
0263デフォルトの名無しさんNGNG
>>262
Connection Poolingにはいくつか方法がある。
・Tomcatが持つ、JNDI Datasourceを使う。
 http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jndi-datasource-examples-howto.html
・もしStrutsを使っているなら、Strutsが持つConnection Poolingを使う。
TomcatとStrutsの実体はJakarta CommonのDBCP。
・Jakarta CommonのDBCPを使う。
・JNDIサーバーを立て、ドライバーが実装しているConnection Poolingを使う。
・自力で書く。
などがある。

基本的にドライバーが実装しているConnection Poolingは機能不足は否めない。
たとえばプール中Connectionがきれてしまった場合。
その切れてしまったConnectionをプールから取得しつづるということになりかねない。
0264デフォルトの名無しさんNGNG
Connection Poolingに関するサンプルコードが、ここにいくつかあるよ。
http://archive.coreservlets.com/Chapter18.html
0265デフォルトの名無しさんNGNG
>>263
情報ありがとうございました。
非常に参考になりました。
おかげさまでプーリングできるようになりました。

>>264
自前のプーリング処理はどうしても泥臭くなってしますので
DataSourceでやりたかったんです。
でも、情報ありがとうございました。
0266デフォルトの名無しさんNGNG
海外はMySQLが人気なのに対して日本ではPostgreSQLの方が人気なのは何か理由があるのですか?
0267デフォルトの名無しさんNGNG
海外だと、早いほうがいいんじゃねーの?
ポスグレは、高機能だけど、ちょっと重いね。
日本だと、MySQLはトランザクション使えないからって理由で
表面的に敬遠する手合いが多い気がする。
MySQL-Max使えば、トランザクションも一応OKなのに。

そもそも、トランザクションを適切に使えてるヤシが、どれだけいるのか。
0268デフォルトの名無しさんNGNG
MySQL versus PostgreSQL
http://www.mysql.com/information/benchmarks.html
0269デフォルトの名無しさんNGNG
なんかgwe、異様に機能upしていない?
0270デフォルトの名無しさんNGNG
カーソルが使えないのはイタイな〜
0271デフォルトの名無しさんNGNG
MySQLは辞書データベース作りに向いているのでしょうか?
教えてください。
0272デフォルトの名無しさんNGNG
>>271
設計次第
0273デフォルトの名無しさんNGNG
追加が少々で大部分が参照、キーワードでのインデックス検索がほとんどとなれば、
複雑なトランザクションがいらないので MySQL の高速性が生かせるのでは。
0274デフォルトの名無しさんNGNG
PHPスクリプトが実行できません。
Apacheの設定ファイルにも AddType application/x-httpd-php .phpって追加したけれど
表示されません。どうしたら表記できるでしょうか?
誰か教えてください。
0275デフォルトの名無しさんNGNG
>>274
スレ違い
0276デフォルトの名無しさんNGNG
>>269
C#版のドライバに機能を追加しました。
http://www.t3-jpn.com/jdbc/jdbcmysql.html
0277デフォルトの名無しさんNGNG
( ´Д`)y-~~~ ホシュ-
0278デフォルトの名無しさんNGNG
あのMYSQLってテーブル名や項目名にSJIS (UTF-8でもOK) 使えないんでようか?
つーかDB自体はじめてさわるもんで、よく知らないんだけど、日本語がデータの内容にしか使えないみたいなんだけど、これ普通なの?なんか設定でもあるの?
0279デフォルトの名無しさんNGNG
>>278
My.iniに設定すればOKだけど(winの場合
0280デフォルトの名無しさんNGNG
例えば
select ‘番号‘, `名前` ・・・
とかやる。
create tableはちょっと自分で試して。
0281デフォルトの名無しさんNGNG
mysqlってレコードのロックも掛けられないのですか?
0282デフォルトの名無しさんNGNG
>>281
掛けられるよ。
TableをInnoDB設定にすればね。

MyISAMの場合はレコードロックができないけど、
パフォーマンスでカバーってことらしいよ。
0283デフォルトの名無しさんNGNG
age
0284デフォルトの名無しさんNGNG
InnoDBとMyISAMの違いって、何?
0285デフォルトの名無しさんNGNG
シェルから MySQL をたたいて、 SQL エラーが起きた場合に
エラーコードを拾う方法ありますか?
$? だと 0 か 1 しかわからん。たのんます。。。
0286名無しさん@MeadowNGNG
>>285
Perl か Python か Ruby でラッパーを書けば?
0287デフォルトの名無しさんNGNG
$print $sql;
dondon insert program.
0288285NGNG
>>286さん
シェルだけなんですよ。。困ってます。。。。
0289デフォルトの名無しさんNGNG
0290デフォルトの名無しさんNGNG
■ このスレッドは過去ログ倉庫に格納されています