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

    私的良スレ書庫

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

    元スレMySQL 総合 Part19

    mysql スレッド一覧へ / mysql とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    201 : NAME IS - 2011/03/26(土) 19:05:29.35 ID:??? (+23,-29,-5)
    >>199
    MySQL 5.5から対応してる
    202 : NAME IS - 2011/03/26(土) 19:34:37.27 ID:??? (+108,+29,-34)
    >>200
    ログ以外のテーブルとの整合性が必須なほど大事な案件だったら、それもいいんじゃない?
    203 : NAME IS - 2011/03/26(土) 21:31:13.67 ID:??? (+66,+20,-19)
    >>200
    ログ程度になんでトランザクションが必要なんだ?
    アクセス過多でMyISAMのテーブルロック回避のためinnoDBの行ロックに変えるってんならわかるけど。
    204 : NAME IS - 2011/03/26(土) 22:21:38.09 ID:??? (+77,+29,-54)
    >>202-203
    オンラインゲームみたいなの作ってて、ポイントのログを取得してるんだよ。
    誰がどのゲームでいくらのポイントを得たかっていうログを。

    今まではMyISAMで問題無さそう(に見えた)だんだけど、
    今回リニューアルするから、どうしようかなと悩んでる。
    リニューアルはアクセス過多が原因だったわけだし。
    205 : NAME IS - 2011/03/26(土) 22:25:21.09 ID:??? (+56,+28,-18)
    そりゃ単なるログじゃなくて、機能部だろ。
    206 : NAME IS - 2011/03/27(日) 00:55:22.21 ID:??? (+44,+18,+3)
    >>201
    ありがとうございます。
    207 : NAME IS - 2011/03/28(月) 13:44:15.02 ID:??? (+2,-25,-2)
    mariadbの話題はこのスレでいいの?
    208 : KOUZOU T - 2011/03/28(月) 16:13:38.27 ID:cdA0H2BD (+3,-14,-4)
    MYSQLの質問はここでいいですか?
    よろしくお願いします
    209 : NAME IS - 2011/03/28(月) 17:14:28.22 ID:??? (+53,+29,-5)
    >>208
    まず日本語を話せるようになってから来てください。
    210 : NAME IS - 2011/03/28(月) 17:32:39.88 ID:??? (+57,+29,-15)
    >>208
    知恵袋か教えてGooへ行ってらっしゃい!
    211 : NAME IS - 2011/03/28(月) 23:50:40.86 ID:??? (+83,+21,-7)
    おまえらMySQLやってるのにMariaDBの話題がないのは事情を知らないだけ?
    212 : NAME IS - 2011/03/29(火) 00:10:06.12 ID:??? (+57,+29,-31)
    MySQLを実務で使っているからこそ今のところは様子見とか?
    Oracleフリーである以上のメリットってなんかあったっけ?
    213 : NAME IS - 2011/03/29(火) 00:13:12.72 ID:??? (+69,+29,-38)
    >>211
    綺麗な姉ちゃんに育ったマイは嫁に行ったよ
    ブサイクでforkなマリアは行くあてが無くてね、父ちゃんと二人暮しさ

    前スレでも見たら?
    214 : NAME IS - 2011/03/29(火) 00:57:52.36 ID:??? (+3,-30,-85)
    SELECTで登録済みか確認後INSERTするより、
    REPLACEした方が速い、というのを見たのですが、
    auto incrementする項目がある場合でも、
    REPLACEは使えますか?

    テーブル構造がこんな感じで…
    id(auto increment), name(unique), text"
    215 : NAME IS - 2011/03/29(火) 03:37:58.65 ID:??? (+91,+29,-3)
    適当なテーブル作って試してみればわかることだろ
    216 : NAME IS - 2011/03/29(火) 05:27:18.65 ID:??? (+70,+29,-11)
    >>215
    それを言っちゃおしまいよ。
    忙しすぎてそこまで考えられんのだろう。


    ほら、擁護してやったんだからなんかくれよ。
    217 : NAME IS - 2011/03/29(火) 15:24:39.75 ID:??? (+52,+29,-2)
    このスレで質問書く暇はあるんだな
    219 : NAME IS - 2011/03/29(火) 16:58:32.77 ID:??? (+39,-30,-40)
    どういう理由で、チャーハン1とチャーハン2スペシャル
    をSELECTしたいのか・・・
    その脳内、意味不明

    君の質問に対する一般的な回答は、
    SELECT * FROM AAA WHERE menu = 'チャーハン1' OR menu = 'チャーハン2スペシャル'

    こうなるな
    220 : NAME IS - 2011/03/29(火) 19:29:23.61 ID:??? (+62,+29,-24)
    先頭がチャーハンで始まるデータを引っ掛けたいんです

    チャーハン4とかチャーハン王様とか全部引っかかるような
    221 : NAME IS - 2011/03/29(火) 20:27:11.90 ID:??? (+56,+28,-31)
    定食を抜きたいならnotかな。
    チャーハンの後が漢字のを除去したいなら正規表現使う。
    222 : NAME IS - 2011/03/29(火) 20:53:27.20 ID:??? (+6,-29,-7)
    >>220
    > チャーハン4とかチャーハン王様とか全部引っかかるような

    なら LIKE 'チャーハン%' でいいじゃん
    223 : NAME IS - 2011/03/29(火) 20:59:36.31 ID:??? (+68,+29,-23)
    >>219-222
    うん。承知で聞いてみました。
    もらったデータの分割が不十分だったので。。。
    凄いテクニックを教えてもらえるかもと甘えてしまいました。

    素直にデータの見直しをしてみます。
    数万行あるけどwww
    224 : NAME IS - 2011/03/29(火) 21:16:05.42 ID:??? (-1,-29,-2)
    WHERE menu REGEXP 'チャーハン[0-9]+.*'
    225 : NAME IS - 2011/03/29(火) 21:41:58.38 ID:??? (+57,+29,-5)
    結局、質問者がどんな条件でどんな行をSELECTしたかったのかすら分からなかったというオチ
    226 : NAME IS - 2011/03/29(火) 22:13:26.52 ID:??? (+52,+12,+0)
    OS名を見ろ。釣りだ。
    227 : NAME IS - 2011/03/29(火) 22:30:27.37 ID:??? (+8,-30,-77)
    >>226
    釣りじゃないです。

    達人がみてそうなので聞くけど、
    while ($rows = mysql_fetch_array($result, MYSQL_NUM))
    などで、その時に参照している行と、1行先の行を比較する時は
    どうすればいいですか?

    お願いします。
    228 : NAME IS - 2011/03/29(火) 22:44:30.41 ID:??? (+90,+28,-1)
    一行先と比較ではなく、
    一行前と比較すればよい
    229 : NAME IS - 2011/03/29(火) 22:53:18.56 ID:??? (+70,+29,-3)
    >>228
    ありがとう。
    脳味噌を塩水で洗ってくる。
    230 : NAME IS - 2011/03/29(火) 23:09:04.53 ID:??? (+35,-18,-17)
    >>226
    >OS名を見ろ。釣りだ。
    あえてスルーしてたんだけど、改めて見るとおもろいわ
    【OS名】Linax
    231 : NAME IS - 2011/03/29(火) 23:13:29.09 ID:??? (+32,+0,-3)
    >>230
    ごめん。スルーしてよw
    ただのtypoというか脳がカビてた。。。

    なんなら"TOTO"でもスルーしてw
    232 : NAME IS - 2011/03/30(水) 00:08:03.09 ID:??? (+13,-30,-32)
    +id+-pra-+--sab--+
    | 1 | 牛丼 | ネギ濁 |
    | 2 | 牛丼 | ネギ濁 |
    | 2 | 牛丼 | + 生卵 |
    | 3 | 牛丼 | 生 卵 |

    id2を一行として出力するのはどうすれば良いですか?
    233 : 232 - 2011/03/30(水) 00:11:35.65 ID:??? (+2,-29,-11)
    出力というか、同一データとして処理するにはという事です。

    | 2 | 牛丼 | ネギ濁 + 生卵 |

    こんな感じで。
    234 : NAME IS - 2011/03/30(水) 00:23:29.03 ID:??? (+61,+29,-5)
    そんなのはSQLの仕事じゃない
    ストアドでも書いとけ
    235 : NAME IS - 2011/03/30(水) 00:48:53.51 ID:??? (-11,-29,+0)
    sab ww
    236 : NAME IS - 2011/03/30(水) 11:40:09.35 ID:??? (+3,-29,-14)
    >>233
    GROUP_CONCAT関数を使え

    >>234
    バーカ
    237 : NAME IS - 2011/03/30(水) 21:28:58.35 ID:??? (-1,-29,-19)
    sabの型ををvarchar(10)ぐらいにして”ネギ濁 + 生卵”という文字列をデータにする
    241 : NAME IS - 2011/03/31(木) 00:53:12.66 ID:??? (-5,-30,-18)
    >>240
    RH-Firewall-1-INPUT というチェインはlocalhostからlocalhostへのアクセスに関係してるのか?
    242 : NAME IS - 2011/03/31(木) 01:19:12.67 ID:??? (+43,-30,-241)

    基本的にデータベースへの操作はコネクションを確立し、通信で接続して操作をおこなうようにできています。
    なのでポート:3306は開放しなければいけません。
    ただ、mysql側の通信を受け付けるIPアドレスの設定をlocalhost(127.0.0.1)に設定し、それ以外のIPアドレスからの接続は受け付けないようにしなさいという意味です



    で、iptableの解説

    ”-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j DROP”
      ↑これは確かに3306番ポートは閉じているのですが

    さらに同じ設定ファイルの先頭のほうに次のような設定は書かれていませんか?

    ”-A RH-Firewall-1-INPUT -i lo -j ACCEPT”
      ↑これは”-i lo”つまりlocalhost(127.0.0.1)からの通信はすべてACCEPTにしますという設定です

    なのでMysqlがインストールされているホストからはSQLが問題なく実行されているのです。

    わかる?
    243 : 238 - 2011/03/31(木) 02:05:05.72 ID:??? (+3,-30,-40)
    >>241
    うう、iptablesの知識不足でわかりません。お恥ずかしいです。
    勉強し直します、ありがとうございました

    >>242
    なるほど!凄くわかりやすいです
    たしかに「-A RH-Firewall-1-INPUT -i lo -j ACCEPT」と書いてありました、わかりました

    簡単なmysqlの使い方みたいな本見て触ってただけなので、
    ポートとかiptablesとの関係なんてのってないし考えたこともなかったです
    聞いて良かったです、ありがとうございました。勉強します
    244 : NAME IS - 2011/03/31(木) 04:12:20.41 ID:??? (-1,-29,-6)
    socket使用でもいるんだっけ?

    skip-networking!!!!!!
    245 : NAME IS - 2011/03/31(木) 11:28:57.23 ID:??? (+63,+29,-2)
    >>242
    ずいぶん回りくどい説明だな
    247 : NAME IS - 2011/03/31(木) 13:44:46.58 ID:??? (-11,-30,-119)
    >>246
    > 関数の入力として使う場合でもインデックスは有効になりますか?

    ならない。

    > もしならない場合は解決法などあるのでしょうか?

    あらかじめbirthdayから年を抜いて文字にした列を作っておく。

    alter table users add column (birth_mmdd varchar(5));
    create index idx_users_birth_mmdd on users (birth_mmdd);
    update users set birth_mmdd = date_format(birthday, '%m/%d');
    select * from users where birth_mmdd = [今日の日付];
    248 : 246 - 2011/03/31(木) 15:01:42.69 ID:DLbNnEWK (-21,+29,-10)
    >>247
    ありがとうございます!
    なるほど、カラムを増やさないといけないのですね。。
    データ量が増えるのが少し怖いですがやってみます。ありがとうございました。
    249 : NAME IS - 2011/03/31(木) 16:59:20.07 ID:??? (-3,-30,-35)
    >>246
    MySQLには詳しくないが[今日の日付]の型をbirthdayに合わせればいいのではないのか?
    SELECT * FROM users WHERE birthday = 日付型に変換([今日の日付]);
    で、birthdayにインデックスを貼る。
    250 : NAME IS - 2011/03/31(木) 17:09:20.51 ID:??? (-1,-29,-31)
    いや、毎年のことだからね
    DBに1984/3/31って入ってたら3/31部分で
    マッチングかけないといけないから
    フィールド側に演算が必要になる
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / mysql スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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