元スレ【この先一体】MySQL 総合 Part15【どうなるの】
mysql覧 / PC版 /みんなの評価 : ○
351 = :
そりゃおめぇ、()の中はいくつの箱を用意するかの指定だからw
353 = :
>>350
>本来どう指定するのが正しいのでしょうか?
最終的に何を実現したいのかな?
INT(4) は、表示する時に最低 4 桁出力するという意味です。
指定しているのは表示する桁数であって、格納するデータのサイズ
ではありません。格納するデータのサイズを指定したい場合は、
そのサイズに合わせて TINYINT, SMALLINT, MEDIUMINT, INT,
BIGINT を使い分けます。BIGINT を使うと 8bytes までの数字を
扱うことが出来ます。
http://dev.mysql.com/doc/refman/5.1/ja/numeric-types.html
354 = :
>>353 みなさま
表示幅の設定だったとは。根本的に間違ってたんですね。
自分の場合は小さい数字をPHPで取り出す目的だったので
あまり意識しなくてもよさそうです。
ありがとうございました!
355 = :
サーバに多数のコネクションを張ってupdateかけるデーモン書いたら
lock wait timeout exceededって怒られるようになりました。
ググったら
"他のスレッドが保持しているロックをinnodb_lock_wait_timeout秒間待っても獲得出来なかった場合に発生する。 "
と出てきました。
ここの"スレッドが保持しているロック"というのを調べる方法はないでしょうか?
webサービスなので今のところタイムアウトの秒数を増やすといった解決方法は考えていません。
また、もし似たような場面に遭遇したといったことがあればヒントをいただけませんか?
対象となるテーブルはInnoDB、テーブルのロックは見たところ無いように見えてしまっています。
356 = :
show engine innodb statusで、待たされている様子はわかる
誰がどのロックをつかんでいるかは
MySQL 5.1+InnoDB Pluginを入れるとわかる
かなり難しいけどね
358 = :
>>357
バックアップの話なら、サイトによって様々でしょ。
例えばレプリケーションしてその先でダンプするとか、
ボリューム管理ソフトやストレージのスナップショット
機能を使うとか、色々。
359 = :
WinXPにApacheとMySQL5.1.35を入れてphpMyAdmin起動して、
テーブル作成するため参考書CDに入ってたダンプと思われるtxtインポートしたら
--で始まるコメントの行がSyntax Errorになりますた。
試行錯誤の末、コメント行を全部消して食わせたらちゃんと食ってくれました。
最近のバージョンではコメントの書き方が変わってたりするんでしょうか?
360 = :
追記
--のコメント行が全部エラーになっているのではないようで、
一行だけ
------------------------------------------
みたいになっている行があって、その行を消すとインポートできました。
そういう行があるとエラーになるようになったのでしょうか?
361 = :
>>356
情報ありがとうございます、難航しそうでがーんですがちょっと調べてきます。
>>359
普通のsqlも----------を突っ込んだらコメントに扱ってくれなかったよ。
今まで気にしてなかったけど--の後にスペースが必要なのかな。
368 = :
>>355 >>361
ロックの調査方法
http://d.hatena.ne.jp/sh2/20090618
369 = :
>>368
wow わざわざすんません。右も左もわかってませんのでいろいろ漁って勉強させてもらいます!
ちなみに先の問題はレプリケーションの遊びしてた鯖でロックするようなselect出させるようにしてひとまず回避しました。
371 = :
中カテゴリ、小カテゴリの一覧が入ったテーブルがあります。
ここから、中カテゴリが変わるまでitemのみを出すSQLを作りたいのですが、
PHPやPerlの中であえて行わずにMySQL用のクエリだけで実現できるのでしょうか?
識者の方、教えて頂けますと幸いです。
テーブル例)
|category|item|(列名)
|果物|りんご|
|果物|スイカ|
|動物|うし|
|草花|あじさい|
|草花|つばき|
|草花|ひまわり|
出力例)
・果物
りんご
スイカ
・動物
うし
・草花
あじさい
つばき
ひまわり
372 = :
mysql> set @job = '';
Query OK, 0 rows affected (0.00 sec)
mysql> select concat(if (@job = job, '', @job := job), ',', ename) from emp orde
r by job, ename;
+------------------------------------------------------+
| concat(if (@job = job, '', @job := job), ',', ename) |
+------------------------------------------------------+
| analyst,ford |
| ,scott |
| clerk,adams |
| ,james |
| ,miller |
| ,smith |
| manager,blake |
| ,clark |
| ,jones |
| president,king |
| salesman,allen |
| ,martin |
| ,turner |
| ,ward |
+------------------------------------------------------+
14 rows in set (0.00 sec)
PHPやPerlでやったほうがいいと思います!
373 = :
名前消し忘れた
375 = :
で、mySQLで掲示板作るとローパフォーマンスだとか主張していたヴァカはどうした?
376 = :
そんなのお前だけじゃね?
378 = :
>>377
それはダメだ。
379 = :
最初はmysqldumpでクエリ生成しようかと思ったんですが、
文字化けやら文法エラーに悩まされ、他の方法でもいけるかな?と。
>>378
ではどんな方法が良いでしょうか。
380 = :
MySQL Migration Toolkitはどうだろう
381 = :
>>377
dump時に出力後の文字コードを指定できる。
そのdumpした物をそのまま新しいDBに入れればいいだけ。
文字コードがおかしいから文法エラーになってるものだと思われるので
文字コードが正しければ解決。
382 = :
>380
こんなものがあるんですね。GUIっぽいですが。
使えそうか調べてみます。
>381
--default-character-set ですか?
dumpするときに色々試してみたんですが、何度やっても出来なくて、諦めちゃってました。
383 = :
非力なポストグレが終わりそうなのでmysqlへ移行を考えています。
SQL文の違いはあまりなくすぐに移行できるでしょうか?
384 = :
ポスグレ終わりなん?
MySQLの勉強が終わったらポスグレを勉強しようと思ってたのに…
移行する時の注意ですが、MySQLもそれなりに個性の強いRDBMSだと思います。
SQL モードやストレージエンジンの違いは注意が必要だと思います。
ドキュメントもそこそこありますし、見通しは良いので、別の RDBMS を
使っていた経験があるなら、そんなに難しい事は無いと思います。
385 = :
いま面倒みているシステムでPostgreSQLの調子が悪いって話じゃないの?
PostgreSQL自体はもうすぐ8.4も出るし、いたって堅調。
SQLの文法はかなり違うからすぐには移行できないよ。
386 = :
システム移行の話ですか。それなら大変ですね…
ストアドとかサブクエリーとかバックアップとか
いろいろ悩ましいでしょうね。
387 = :
どっちかっつーとMySQLが終わるかもしれないって感じだけどな。
388 = :
終らくるの?
389 = :
PostgreSQLもMySQLも直ぐに無くなったりはしないと思うが。
391 = :
>>390
できるけど?
392 = :
↑アホ
393 = :
>>392
何が? 必要十分な回答だろう。
394 = :
>>372 さん、ありがとうございます!
これでテストしてみようと思います。
396 = :
最終的には実測してくれとしか言えないが
データを受け取ったプログラム側で調整することも視野に入れてみてはどうか。
ランダムで全レコードの中から1つだけ抽出する…という処理なら、
先にランダムな値を決めておいて、
SELECT * FROM table_name WHERE id = $random_id ;
みたいな感じにするとか。
397 :
MySQLをアクセスできる状態のままdumpすることはできるのでしょうか?
サーバを2台用意できないのでレプリケーションはできません
稼働したままバックアップ取るなら最低でもロックをして、
一時的にでもリードできないようにする必要はありますか?
398 = :
>>397
>MySQLをアクセスできる状態のままdumpすることはできるのでしょうか?
出来るけど、お金を掛けずに整合性を保ってダンプしたいなら
ロックをする必要があります。
お金があるなら InnoDB Hot Backup を使うという手も。
>サーバを2台用意できないのでレプリケーションはできません
レプリケーションはサーバ一台でも出来る筈。
マスターとスレーブでポートを分ければ良いだけじゃない?
>稼働したままバックアップ取るなら最低でもロックをして、
>一時的にでもリードできないようにする必要はありますか?
InnoDB みたいなクラッシュリカバリを備えているストレージ
エンジンならディスクの側でスナップショットを取るという
方法もあります。これは使っている OS やストレージに依ります。
間違えてたらごめんね。
399 :
オウム手配犯3人写真
平田 信(44歳)
高橋克也(51歳)
菊地直子(37歳)
みんなの評価 : ○
類似してるかもしれないスレッド
- 【MySQL】下らねぇ質問はID出して書き込みやがれ 2 (985) - [21%] - 2012/10/17 7:16
- 【】 MySQLを買収したSunを買収したOracleを 【】 (112) - [19%] - 2023/1/22 14:15
トップメニューへ / →のくす牧場書庫について