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

    私的良スレ書庫

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

    元スレMySQL 総合 Part18

    mysql スレッド一覧へ / mysql とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - megab + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    53 : NAME IS - 2010/06/21(月) 15:17:00 ID:8qylY79Y (-25,+29,-21)
    >>52
    そうですよね!? それなら良いんです、安心しました
    他の人の意見ももらえたら嬉しいですが、、 ありがとう
    54 : NAME IS - 2010/06/21(月) 20:30:50 ID:??? (+25,+27,-30)
    そんなの言い出したら今度は
    確認用のlastInsertId()をさらにチェックするとか
    始まるだろ。
    やりたきゃ好きなだけやれよ。
    55 : NAME IS - 2010/06/22(火) 21:27:41 ID:??? (+5,+25,+0)
    >>51
    馬鹿発見
    56 : NAME IS - 2010/06/22(火) 22:11:33 ID:??? (-26,-29,-96)
    複数のWebサービスから利用されているMySQLサーバを運用しているのですが、
    このサーバがここ最近突然重くなりました。
    大したアクセス数のあるサイトを持ってるわけでもなく朝方のような時間帯でも重いので
    何か特殊な原因があるのではないかと考えて調査しているのですが検討が付きません。

    topコマンドを叩くと、
    load averateが平均で3~5ぐらい、高い時で10を超えたりします。
    またmysqldコマンドの%CPUの値が100%を超えて300%ぐらいになります。

    ここら辺が異常なのは分かるのですが原因が分かりません。
    何か考えられる原因はあるでしょうか?
    57 : NAME IS - 2010/06/22(火) 22:22:02 ID:??? (+27,+29,-17)
    お前さん岡崎市立中央図書館のシステム作った会社の人か?
    58 : NAME IS - 2010/06/23(水) 00:59:59 ID:??? (+20,+20,-24)
    まずはスロークエリログを設定してデータ収集して調べるところから。
    61 : NAME IS - 2010/06/26(土) 20:13:39 ID:??? (+18,+30,+0)
    62 : NAME IS - 2010/06/26(土) 20:15:55 ID:??? (+27,+29,-46)
    サブクエリは使わない条件なのかい?
    ちなみに歌手が違うジャンルの曲を歌ったときの対応とかどうよという気がしないでもないが。
    63 : NAME IS - 2010/06/26(土) 20:36:38 ID:TQu1MBDb (-5,+30,-137)
    >>61
    調べてみます

    >>62
    実際にはここで歌手番号と同時に歌手名も取得し、
    歌手番号と歌手名の連想配列をとりあえず変数に入れておいて、
    最終的にどの曲がどの歌手のものなのかを表示しているので、
    サブクエリは使っていません。

    歌手とジャンルの対応を言われると厳しいです。
    曲といっしょにその曲のジャンルまで収集できる仕組みを作れればいいのですが、
    そこがうまくいかなかったのでとりあえず歌手は特定のジャンルのみとしました。
    歌手が別のジャンルの専門になったら、
    歌手ごとにジャンルを変えてしまおうという感じです。
    64 : NAME IS - 2010/06/26(土) 21:31:58 ID:??? (+19,+29,-26)
    >>60
    曲番号を1カラムにまとめないで、歌手番号と歌手毎分類番号の2カラムで
    複合主キーにしたら?
    65 : NAME IS - 2010/06/26(土) 22:15:02 ID:??? (+27,+29,-81)
    >>63
    >サブクエリは使っていません。 (キリッ

    いや、そういうのを聞きたいわけじゃなくて、「特定のジャンル、歌手番号、歌手名、曲番号、曲名」を
    1クエリで引っ張ったらいいんじゃないの?という話なんだが。
    66 : NAME IS - 2010/06/26(土) 23:17:08 ID:??? (+22,+29,-12)
    ジャンルとか曲番号にindexが張られていないとかいうオチじゃねーだろーな
    68 : NAME IS - 2010/06/27(日) 02:06:19 ID:??? (-22,+29,-14)
    http://alfalfalfa.com/archives/398564.html
    http://www.unkar.org/read/tsushima.2ch.net/news/1277472565

    MySQL嫌われ杉ワラタ
    つか有償ライセンスってそんなに必要になるケースってないだろ?
    69 : NAME IS - 2010/06/27(日) 07:24:28 ID:??? (+22,+29,-1)
    頭が変になりそうだ、
    70 : NAME IS - 2010/06/27(日) 08:54:56 ID:??? (+19,+29,-58)
    >>67
    ボトルネックは明らかにPHPでのループとインデックスの使われてないであろう曲番号LIKE検索だろう。
    DB構造もロジックも両方直さないとな。
    71 : NAME IS - 2010/06/29(火) 19:40:42 ID:??? (+30,+29,-164)
    テーブルの中で日々増大するテーブルがあり、
    それは滅多に使わないものですが、とっておきたいデータです。

    私としては定期的にダンプしてzipで圧縮後、テーブルデータを削除したいのですが、
    dumpコマンドでダンプしたデータが壊れていないかどうかを確かめる方法を探しています。

    私としては、dumpコマンド実行中になんらかしらの障害が発生してデータが壊れているのにも関わらず、
    ダンプが終わったと判断して、テーブルデータを削除していますケースを心配しています。

    全ては、定時バッチで処理したいと考えています。アドバイス宜しくお願いします。
    73 : NAME IS - 2010/06/29(火) 20:36:02 ID:??? (-20,-18,-45)
    障害が発生したらmysqldumpが異常終了すると思うけど、
    気になるなら別のサーバにリストアして件数でも数えてみたらいいんじゃないの
    74 : NAME IS - 2010/07/07(水) 15:49:13 ID:o6uZh2cy (+25,+29,-125)
    既出だとは思うのですが、ネットで調べても具体的な数値が見えてきませんでしたので質問させてください
    InnoDBとMyISAMは後者の方が早いらしいですが、大体どの位スピードは違うのでしょうか?
    大規模なDBなど扱ったことがないので分からないのですが、今までもDB以外の分野でこっちの方が高速と書かれていても、実際はさほど差はないということも多々ありました
    体感的、具体的にはどの位早いのでしょうか?
    もしそれほどパフォーマンスに差がないようならばInnoDBに一本化しようかと考えているのですが
    75 : NAME IS - 2010/07/07(水) 16:07:24 ID:??? (-28,-29,-8)
    >>74
    >>InnoDBとMyISAMは後者の方が早いらしいですが

    使い方によるんじゃない?
    76 : NAME IS - 2010/07/07(水) 16:36:48 ID:??? (-2,+0,-2)
    77 : NAME IS - 2010/07/07(水) 17:12:37 ID:??? (-9,-7,-26)
    パフォーマンスに多少の差があってもInnoDBに一本化していいと思う
    79 : NAME IS - 2010/07/07(水) 19:13:20 ID:dGxQf47y (+17,+22,-16)
    トランザクションがないなら
    NoSQLで良いな
    80 : NAME IS - 2010/07/07(水) 19:55:49 ID:??? (-29,-30,-157)
    今、MySQL5.1.19を使っていて、
    これからMySQL5.1.47にバージョンアップしようとしているのですが、
    MySQLを停止して、MySQLのモジュールをインストール(BSD環境なので、make→make install)して、
    MySQLを起動するだけで大丈夫でしょうか?

    (1) 設定ファイルを書き直す必要がありますか?
    (設定項目が削除されたり追加されることがありますか)

    (2) データベースのファイルの互換性がなくて既存のデータが壊れるようなことはありますか?

    宜しくお願いします。
    83 : NAME IS - 2010/07/08(木) 07:05:24 ID:??? (-26,-29,-85)
    >>74に関連して。

    そういえばMyISAMを利用しないようにしてもいいのでしょうか?
    そもそもできないかもしれませんが、skip-myisamしてユーザテーブルとかをalter talbe engine=innodb;してもいいか、迷ってやってません。
    そんなことしたらテンポラリテーブル作れないよとか、じつはシステムが利用するエンジンを変えて運用する
    tipがあって、とか、おもしろいヒントがあれば教えてください。

    ちなみにその目的はメモリ使用量を下げたいがため、です。
    85 : NAME IS - 2010/07/09(金) 02:19:37 ID:??? (+32,+29,-148)
    MySQL勉強中の、未熟者です。
    本を読んでも実務に直結する内容の情報がなかったので質問させてください。

    仕事(業務)で、webアプリケーション用のDBを構築しなくてはいけない状況で、
    クライアントさん(お客さん)のサーバーで作業、動作確認ができないという場合、
    仮に他のサーバー上でテストしておくというのはよくあることなんでしょうか。
    他のサーバーでテストして作っておいたデータベースを
    お客のサーバーでまったく同じように再現する?感じですか。
    その場合、サーバーへのアクセスはSSHで行うというので正しいでしょうか。
    レベル低い質問ですみません。
    86 : NAME IS - 2010/07/09(金) 02:38:00 ID:??? (+27,+29,-16)
    仕事なら上司に聞けばいいんじゃねーの?
    87 : NAME IS - 2010/07/09(金) 02:50:05 ID:??? (+32,+29,-82)
    >クライアントさん(お客さん)のサーバーで作業、動作確認ができないという場合、
    >仮に他のサーバー上でテストしておくというのはよくあることなんでしょうか。
    よくある、というか、普通はそうなる。
    >サーバーへのアクセスはSSHで行うというので正しいでしょうか。
    前段との関連が意味不明だけど、
    物理的(インフラ)なテストと、論理的(アプリ、データ)なテストとでは目的が違うから、何が必要かは一口には言えん。
    89 : 名無しさん@そう - 2010/07/10(土) 08:45:56 ID:??? (-27,-30,-141)
    MySQL5.0.51aでデータベースを構築しています

    kanriというtableに
    ID | sale | hinichi
    1 1000 2010-06-01
    1 1200 2010-06-10
    1 1000 2010-06-15
    2 2000 2010-06-05
    2 1500 2010-06-10
    (実際のhinichiはtimestampを自動で更新するようにしていますが、上記の時刻は省いて書いています)

    このような感じで一つのテーブルに纏めているのですが
    今日のsaleが5日前と比べて同等以下というIDを抽出したいと思っています

    http://gihyo.jp/dev/serial/01/sql_academy/0005?page=1
    ここを参考にしながらやったのですが、どうも上手くいきません
    どのようなクエリを書けばいいのでしょうか?
    よろしくお願いします
    90 : 名無しさん@そう - 2010/07/10(土) 10:31:54 ID:??? (-29,-30,-60)
    試しちゃいないが、こういう感じのこと?

    SELECT ktoday.ID, ktoday.sale, ktoday.hinichi
    FROM kanri ktoday, kanri kbefore
    WHERE
       to_days(ktoday.hinichi) = to_days(now())
     AND to_days(ktoday.hinichi) - to_days(kbefore.hinichi) = 5
     AND ktoday.sale <= kbefore.sale
    94 : NAME IS - 2010/07/12(月) 13:21:10 ID:??? (-27,-25,-19)
    isattyで出力を切り替えてるから
    これじゃリダイレクトかパイプすると駄目だ
    スマソ忘れてくれ
    97 : NAME IS - 2010/07/12(月) 17:18:54 ID:mKjPxL2y (+21,+29,-84)
    mysqlって構造が全く同じなら1つのテーブルにまとめたほうが高速なの?
    数千万件のレコードから検索する場合。

    大量の小さなテーブルから1つのテーブルを選択するコストと
    1つの巨大なテーブルから1レコードを選択するコスト
    どっちが大きいのか?

    何か判断の指針ある?
    98 : NAME IS - 2010/07/12(月) 19:40:18 ID:??? (+33,+30,-89)
    インデックス張ってあるカラムで検索するんだったら、
    件数大量でも大して遅くないでしょう。
    下手な条件指定で遅い検索になっちゃってるなら、
    件数にリニアに比例しちゃうことも。
    その場合は少々件数が少ないテーブルでも遅いわな。

    というわけで、んなこと考えとらんで、適切なカラム構成とインデックス、
    それとSQLの最適化に頭使った方が良いよ。
    99 : NAME IS - 2010/07/14(水) 22:11:34 ID:??? (-27,-30,-89)
    read/writeの割合が半々とwriteの比率が高くクラッシュしても空テーブルから再始動することが許容されるinnodb mysql においてI/Oがボトルネックで悩んでいる場合、データディレクトリをtmpfsにすることはありでしょうか?
    100 : NAME IS - 2010/07/14(水) 22:17:25 ID:??? (-12,-5,-12)
    メモリにおきゃいいじゃん>テーブル
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / mysql スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - megab + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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