のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,071,476人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

    元スレMySQL 総合 Part17

    mysql スレッド一覧へ / mysql とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - 2004 + - config + - Warning + - 経過時間 + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    451 : NAME IS - 2010/03/04(木) 12:40:54 ID:??? (+34,+29,-28)
    >>446
    >>450にある通り、処理結果が不定になるので
    レプリケーションのマスタでそんなSQL流したら俺がグーで殴りに行くけどな
    452 : NAME IS - 2010/03/04(木) 15:23:08 ID:??? (+22,+29,-17)
    じゃあ、俺はチョキで目潰しを。
    453 : NAME IS - 2010/03/04(木) 18:44:48 ID:??? (+22,+29,-54)
    おいどんはパーで張り手でごわす。

    >処理結果が不定になるので
    え、update結果がバイナリログで
    伝わるんじゃないの?
    クエリだけが伝わって、実行内容は
    不定なの?
    455 : NAME IS - 2010/03/04(木) 21:07:23 ID:??? (-28,-29,-29)
    >>453
    5.1以降に実装された行ベースbinlogを使っていない限りは
    マスタで実行したSQLが記録されている

    スレーブはそれを再実行している

    http://dev.mysql.com/doc/refman/5.1/ja/replication-formats.html
    456 : NAME IS - 2010/03/04(木) 21:10:10 ID:??? (-23,-30,-241)
    >>453
    binlog-format が statment(ステートメントベース)なら query が、
    row(レコードベース)なら結果が入ると思う。
    mixed の場合どのように判断されるかは試していない。

    ステートメントベースの場合は error_log に次のような warningが出る。
    Statement may not be safe to log in statement format. Statement: query...

    ちなみに、
    * ver 5.1.12~5.1.28 までは default mixed
    * それ以外は、default statement
    5.1.29 で 5.0系との互換性のために戻されてます。
    row(レコードベース)は 5.1.5以降で実装。

    row は安全だが、binlog にすべて書かれるのでレプリケーションの遅れや
    マスター側の書き込み量の増大などが考えられるのでオススメしない。
    457 : NAME IS - 2010/03/05(金) 05:46:51 ID:??? (-29,-29,-25)
    binary型がいまいちよくわかりません
    binaryというだけあって画像なんかのデータを入れるのに使うのかなとは思ったのですが
    こちらはblobを使うようなので
    char型のを全てbinary型にしても問題はないですよね?
    両者にどんなメリットデメリットがあるのでしょうか?
    458 : NAME IS - 2010/03/05(金) 06:21:23 ID:??? (-25,-30,-299)
    >>457
    ちょっと違うかもしれないけど、自分はperlのutf8フラグ あり/なし
    みたいなものと捉えてる。

    例えばchar(10)としたカラムがあった場合、
    UTF8では30バイト、binaryでは10バイトの領域を占有する。
    で、UTF8の場合はUTF8文字で10文字分格納出来るわけだけど、
    binaryの場合は10バイト(UTF8文字で3文字)までしか格納できない、
    とかの違いがある。あと、照合順予やエスケープ、ソートの結果とかが異なる。

    メリットとは言えないかもだけど、ウチの場合、かつて4.0系から5.0系にupした時に、
    一時的に文字コード絡みの各種不具合(ってか仕様)を回避するために使ったことはある。
    charset=binaryにしておけば、server/clientの文字セット指定に関らず無変換なので・・。

    あと、あんまり用途はなさそうだけど、同じテーブルの同じカラムに異なる文字コードの
    テキストを入れたい時になんかにも利用できる。
    459 : NAME IS - 2010/03/05(金) 06:46:26 ID:??? (+28,+28,-114)
    >>458
    詳しい解説ありがとうございます
    utfの例はわかりやすかったです
    その例だとcharのほうが文字コード考えないでプログラムできるのでよさそうですね
    照合順序、エスケープ、ソートこちらもこれから調べてみます。

    基本的にあまり多用するようなものではないんですかね?
    webプログラムなんかのコードを見るとあまり使ってる例はみないので
    1度だけbinaryとvarbinaryを多用してるテーブル定義を見たことがありましたが
    結局は設計者次第なんですかね
    461 : NAME IS - 2010/03/07(日) 02:07:28 ID:??? (+32,+29,-21)
    導出によって求められる項目を弾くのは第一正規化の基本
    464 : NAME IS - 2010/03/07(日) 20:09:51 ID:??? (-21,-14,-16)
    >>463
    インサート文を書いて、mysqlに送信するといいよ。
    469 : NAME IS - 2010/03/07(日) 21:25:17 ID:??? (+22,+29,-3)
    今こそ優しさが試されるとき。
    470 : NAME IS - 2010/03/07(日) 21:53:28 ID:??? (-29,-27,-12)
    >>468
    Xreaならphpmyadminが使えるからそれで。

    ・・・というか、その知識と検索能力のなさで、MySQLで何をするつもりなのかが気になる。
    471 : NAME IS - 2010/03/07(日) 22:33:58 ID:??? (+24,+29,-39)
    >>470
    写真を掲載するサイトを作ろうと思いまして・・・

    写真とその写真に関する説明文をセットでデータベースに登録しようと思っています。
    472 : NAME IS - 2010/03/07(日) 22:35:10 ID:??? (+32,+29,-55)
    でもデータベース難しそうですね('A`;)・・・
    私のやろうとしてること程度でしたらデータベースなんて使わずに
    ローカルにファイル名と説明文をセットにしたテキストファイルを
    用意してそれをPHPとかから読むようにしたほうがいいかもしれませんね・・・
    473 : NAME IS - 2010/03/07(日) 23:39:26 ID:??? (-28,-29,-30)
    PHPでMySQLからデータを読み込むアプリを作れるのであれば、
    先にファイル名と説明文を登録・更新するアプリを作ってから、
    表示用のアプリを作る方が、イメージをつかみやすいと思う
    474 : NAME IS - 2010/03/07(日) 23:50:17 ID:??? (+3,+9,-5)
    >>473
    ・アップロード
    ・更新
    ・表示

    この3つを全てPHPで作ると言うことですね。
    475 : NAME IS - 2010/03/07(日) 23:54:26 ID:??? (+32,+29,-46)
    そゆうこと。
    アップロードとかサンプル見ながらやれば割と簡単にできる。
    少なくとも、直接SQLを発行して管理をするくらいなら、
    自分で言っていたようにDBよりテキストファイルを使う方が賢い
    476 : NAME IS - 2010/03/08(月) 00:34:18 ID:??? (+31,+29,-62)
    >>475
    了解しました(・∀・)

    > 自分で言っていたようにDBよりテキストファイルを使う方が賢い

    やっぱりそうですよね('A` )・・・
    更新したときもデータベースに修正しなおす必要もありませんし・・・
    477 : NAME IS - 2010/03/08(月) 00:40:23 ID:??? (+27,+25,-1)
    >>461-462
    ありがとうございました。アドバイスのやり方に変更します。
    478 : NAME IS - 2010/03/08(月) 18:16:16 ID:??? (-23,-29,-54)
    indexについて質問なんですけど、
    insertやdeleteをするとindexの再構成が発生するのは当たり前として、
    indexに絡まないカラムのupdateをした場合には
    indexの再構成は発生しないで済みますか?
    479 : NAME IS - 2010/03/09(火) 02:04:45 ID:??? (+20,+25,+1)
    >>478
    はい。
    480 : NAME IS - 2010/03/09(火) 02:14:37 ID:??? (+28,+27,+2)
    >>479
    ですよね、ありがとうございます。
    481 : NAME IS - 2010/03/09(火) 02:28:51 ID:??? (+6,-17,-141)
    一度作った行って削除しないのが普通ですか?
    AUTO_INCREMENTでIDを挿入している場合
    削除したらそこの部分だけポッカリ空いてしまいますよね?
    現在の最終IDが100だとしてID2の行を消した後に
    次に作成される行のIDが2になれば埋まりますが101になるので
    IDを表示した場合歯抜けみたいでマヌケになってしまいます
    削除フラグなんかをつけて表面上は削除したように見せかけてデータだけ残すなんて手もありますが
    不必要な情報や個人情報なんかをユーザーが削除後も残しておくのはどうかと思うのですが
    皆さんはAUTO_INCREMENTでID振ってる場合どうしますか?
    削除してIDが抜けても気になりませんか?
    482 : NAME IS - 2010/03/09(火) 02:42:39 ID:??? (+40,+30,-101)
    >>481
    IDが抜けてなにを気にすることがあるの?
    別に1ずつ増加じゃなくて、重複しないようにランダムで振られたっていいというのに。

    IDというのは単に「その行を識別するための何か」であって
    必ずしも数値である必要は本来無いもの。
    ただ単に、扱いやすいから数値を使っていて、
    ただ単に、扱いやすいから1ずつ増加にしているだけだよ。

    もし「登録順にソートしたい」なんてシステム用件があるのなら
    それはそれで「登録日」とか「登録順」といった別カラムを用意すべきだし。
    483 : 481 - 2010/03/09(火) 02:58:43 ID:??? (+35,+29,-7)
    >>482
    わかってはいるんですけど何か気になるんですよね
    私みたいに気にする人はいないってことなんですかね
    気にしないようにしたいと思います
    484 : NAME IS - 2010/03/09(火) 09:09:26 ID:??? (+34,+29,-28)
    >>483
    >>482の言う通り、ユニークとするものだから、
    必ず連番にしたいのなら、自分で空き番取る処理を入れればいいだけだよ。
    気にする、しないじゃなくて、必要があればするだけ。
    485 : NAME IS - 2010/03/09(火) 09:28:33 ID:??? (+27,+29,-16)
    IDの使い回しなんかすると、いらんバグを作り込むだけだから
    やめていおいた方が良いよ。
    他人のデータが表示されたりとか。
    487 : NAME IS - 2010/03/09(火) 10:20:37 ID:??? (+33,+29,-81)
    >>481
    >一度作った行って削除しないのが普通ですか?

    ふつ~かどうかは知らんが、まあDELETEはインデックスの再編成を伴うから
    比較的重い処理ではある。

    ポスグレやInterbaseならDELETEでもUPDATEでも、この点同じだから気にしてもしょうがないけど。
    488 : NAME IS - 2010/03/09(火) 10:32:30 ID:??? (+27,+29,-12)
    並んだ数字に抜けがあると気持ち悪いのは良く判る
    んが、残すかどうかとは関係無いのう
    489 : NAME IS - 2010/03/09(火) 14:25:13 ID:??? (+25,+29,-21)
    初心者が大抵通る道だなw
    後で考えるとなんてバカなことを気にしてたんだろうと思うけど
    490 : NAME IS - 2010/03/11(木) 00:56:24 ID:??? (-27,-30,-34)
    LIKEの範囲をid(主キー)が1,5,7の場合という風に限定したいのですが、
    どのように書けばいいでしょうか?

    select * from db where foo LIKE'%test%' ... id =????
    491 : NAME IS - 2010/03/11(木) 01:13:16 ID:??? (-9,-2,-2)
    普通にAND条件ではいけないの?
    492 : NAME IS - 2010/03/11(木) 01:27:01 ID:??? (-27,-30,-21)
    質問がわからんけど

    select * from db where foo LIKE '%test%' and id in (1,3,5)

    とか、そいうことをやりたいんだろうか?
    まさかそんなことを聞いてるわけじゃないか。
    494 : NAME IS - 2010/03/12(金) 23:51:59 ID:??? (-24,-30,-89)
    さくらインターネットを使っているのですが、

    ↓たまにこんなエラーが出て、一度出ると1時間以上なにも出来なくなります。
    何か解決方法とかはありますか?

    I cannot connect to the database because: User ********* already has more than 'max_user_connections' active connections
    495 : NAME IS - 2010/03/13(土) 00:46:53 ID:??? (+28,+29,-25)
    >>494
    コネクションが生きっぱなしなんだろ。
    時間がかかる処理をたくさん並列動作させてしまってないか?
    496 : NAME IS - 2010/03/13(土) 09:12:25 ID:??? (+20,+18,-20)
    >>495
    全てしっかり MySQL Closeしてます。

    さくらの共有鯖って本当に終わってます。
    499 : NAME IS - 2010/03/13(土) 13:43:26 ID:??? (+33,+29,-15)
    他の人のプロセスが食っちゃってるんじゃね?
    500 : NAME IS - 2010/03/13(土) 17:59:28 ID:??? (+32,+29,-26)
    >>499
    やっぱそうでよね。今つかってるプレミアで他のユーザ数を調べたらそれでも60とかいましたし。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / mysql スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - 2004 + - config + - Warning + - 経過時間 + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について