のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,641,686人
昨日: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
    951 : NAME IS - 2011/06/07(火) 00:55:07.04 ID:??? (+65,+25,-2)
    >>950
    ありがとうございます!
    プログラム側で対処する事にします!
    953 : NAME IS - 2011/06/07(火) 20:31:30.13 ID:??? (+91,+29,-13)
    500MBでしょ?5時間もすればおわるでしょ
    954 : NAME IS - 2011/06/07(火) 21:02:37.03 ID:??? (+26,-29,-166)
    >>952
    見てないけど、sql文のはじめの方でインデックスを作成してる場合は、インデックスを作成せずに create table をやると多少というかかなり速くなる
    で、タプルが全部 insert された後にインデックスを追加する
    (たぶん、sqlファイルの最初のcreate table 文でキーの指定をしてるので、それを全部取り除く)

    あと、ファイルサイズと関係なく、MySQLはタプル(行、レコード)の数が10万を超えると、検索の方も遅くなって使い物にならなくなるので、タプルが10万を超える場合は、かなり慎重に設計や最適化をする必要がある
    (ちゃんとやれば、10万以上でもそれなりに速く動く)
    >>952 のダンプデータは本当に MySQL のダンプなのでしょうか?
    955 : NAME IS - 2011/06/07(火) 22:27:03.45 ID:??? (+31,-29,-44)
    mysql-connector-netをダウンロードしに行ってきたんですが、
    メアドでfoo.bar@site.comみたく前半でドットが入ると蹴られるのね。
    956 : NAME IS - 2011/06/07(火) 23:42:59.31 ID:??? (+65,+29,-1)
    >>955
    そりゃRFC違反だからな。弾きもするだろ。
    957 : 952 - 2011/06/07(火) 23:53:22.36 ID:??? (+70,+29,-22)
    >>953
    まさに5時間ぐらいでした
    こんなものなのかー

    インデックス削れば速くできますよね、ありがとう気づかなかった
    958 : NAME IS - 2011/06/08(水) 00:32:19.62 ID:??? (+4,-30,-51)
    2分48秒でロードできたよ

    MySQL 5.5.11、Core i5-2400S、Intel X25-M G2 120GB
    innodb_buffer_pool_size = 2G
    959 : NAME IS - 2011/06/08(水) 00:44:22.69 ID:??? (+64,+29,-30)
    >>954
    タプルってtableのこと?
    そういう読み方流行ってんの?
    960 : NAME IS - 2011/06/08(水) 00:44:29.55 ID:??? (+10,-29,-40)
    >>958
    Innodb なら log buffer sizeも関係ありそう?

    まぁ、質問主がどんなSQLなんかわからんけど、1行ずつ入れると遅いし
    insert .... values(),(),()
    は常識だよな?
    961 : NAME IS - 2011/06/08(水) 00:46:21.06 ID:??? (+57,+29,-4)
    10万程度ならインデックスなくてもそれなりに早いよな。
    962 : 952 - 2011/06/08(水) 01:22:45.04 ID:??? (+15,-30,-176)
    ありがとおおおおおおおおおおおおおおおおおおおおおおおおおおおおおお!
    innodb_%_size 弄ったら劇的に速くなった!!
    試しに↓でやってみたら5時間かかってたのが12分で終わった!インデックス削れば更に速くなるかもです。
    [mysqld]
    innodb_buffer_pool_size = 512MB
    innodb_log_file_size = 128M

    他にも複数コア使う設定とかもあるのかな?CPUパワーあまり使ってくれてない感じがする…
    wikipediaが配布してるデーター読みたくてMySQL使い始めたんですが、
    他にも良さそうな設定あればヒント頂けるとありがたいです。

    >>960
    こんなSQLでした。
    http://pastebin.com/7s10E71y
    963 : NAME IS - 2011/06/08(水) 06:14:20.41 ID:??? (+0,-28,-70)
    >>962
    Wikipediaのデータで遊びたいなら全文検索あったほうがよくないか?
    それならMyISAMになるが。日本語だとちょいと工夫がいるけど。
    groongaとかで遊んで見たら?
    964 : NAME IS - 2011/06/08(水) 07:56:59.67 ID:??? (-5,-28,-14)
    5時間が12分に短縮って、、、、 w
    965 : NAME IS - 2011/06/08(水) 08:15:30.37 ID:??? (+40,-29,-16)
    >>959
    釣りだと思うけどw
    タプル=セット=組=レコード一件
    966 : NAME IS - 2011/06/08(水) 09:23:01.56 ID:??? (+0,-28,-39)
    タプルって呼び方はPostgreSQLの人がよく使う印象
    967 : NAME IS - 2011/06/08(水) 10:56:43.49 ID:??? (-22,-30,-24)
    ID | NAME
    1 | a
    2 | a
    3 | b
    4 | c

    NAMEが重複しないIDを取得したいのですが
    SELECT DISTINCT NAME FROM テーブル名
    だとNAMEしか取得できなくて困っています。

    すごく初歩的なことかと思うのですがヒントだけでも教えてください。
    お願いしますm(__)m
    968 : NAME IS - 2011/06/08(水) 11:06:14.03 ID:??? (+31,-30,-22)
    >>967
    SELECT ID,NAME FROM unko GROUP BY NAME;

    MySQL以外じゃろくに動かないから注意な
    969 : NAME IS - 2011/06/08(水) 14:23:02.84 ID:??? (-1,-29,-17)
    タプルはtupple
    英語だとテュープルに近いw
    970 : 967 - 2011/06/08(水) 15:02:33.22 ID:??? (-5,-29,-13)
    >>967
    ありがとうございました。

    GROUP BYですね。
    勉強してきます!!
    971 : 967 - 2011/06/08(水) 15:03:39.45 ID:??? (+61,+29,+0)
    あ、安価間違いましたorz
    >>968さんありがとうございました。
    972 : NAME IS - 2011/06/08(水) 18:26:07.26 ID:??? (+5,-30,-107)
    >>962
    他の設定次第だけど insert が多い場合は
    set global innodb_flush_log_at_trx_commit=0
    も速くなるよ。
    これするとクラッシュしたときデータが当てに
    ならなくなるので大量の insert などが終わったら
    set global innodb_flush_log_at_trx_commit=1
    で元に戻しておいたほうがいい。
    # 手元の開発環境とかならお好きに

    本番環境でも大量にある参照用スレーブとかは
    この設定にしておくとレプ遅延が起こりにくかったりする。
    973 : NAME IS - 2011/06/08(水) 19:39:43.77 ID:??? (+63,+29,-35)
    >>965,966,969
    「ブ」じゃなくて「プ」なのか。タプルって用語を知らなかった。
    974 : NAME IS - 2011/06/08(水) 23:30:24.71 ID:??? (+40,-29,-1)
    >>956

    RFC5321 4.1.2. を読んで言ってるんだろうね?
    975 : NAME IS - 2011/06/09(木) 00:17:04.60 ID:??? (+97,+29,-14)
    >>974
    そりゃもちろん。メール絡みのRFCは全て読んだよ。
    まあここはMySQLのスレだから これ以上は屋上いこうか。
    976 : NAME IS - 2011/06/09(木) 00:31:55.62 ID:??? (+104,+30,-27)
    >>975

    顔から火が出るほど恥ずかしくなって屋上から飛び降りるってか?

    読んだだけでまるで理解していないというのはかなりたちが悪いんだよね。
    何事も半可通が一番迷惑なんだよ。
    977 : NAME IS - 2011/06/09(木) 02:09:31.75 ID:??? (+71,+29,-2)
    >>976
    半可通って久し振りに聞いた。
    978 : NAME IS - 2011/06/09(木) 09:24:02.27 ID:??? (+9,-30,-65)
    id, col, value
    1, n, apple
    1, c, red
    2, n, banana
    2, c, yellow
    3, n, grape
    3, c, green
    3, w, 100

    のような、各ID番号、列記号、値の入ったテーブルがある時、
    id, n, c, w
    1, apple, red, NULL
    2, banana, yellow, NULL
    3, grape, green, 100
    のような出力を得たければ、どうするのが定石でしょうか。

    979 : NAME IS - 2011/06/09(木) 09:39:34.39 ID:??? (+19,-8,-14)
    ドットを使うくらいじゃRFC違反にはならないからね
    980 : NAME IS - 2011/06/09(木) 10:32:13.01 ID:??? (+48,-30,-32)
    >>978
    たぶんこんな感じ。
    select a.id, a.value, b.value, c.value
    from table a left join table b left join table c
    where a.id=b.id and a.id=c.id
    981 : NAME IS - 2011/06/09(木) 18:44:21.83 ID:??? (+63,+29,-5)
    >>980
    やっぱり列の数に応じて必要なだけjoinするしかないんですかね…。
    982 : 980 - 2011/06/09(木) 20:20:01.68 ID:??? (+3,-30,-49)
    間違えた。こうか?

    select a.id, a.value, b.value, c.value
    from table a
    left join (select * from table where col='n') b
    left join (select * from table where col='c') c
    where a.id=b.id and a.id=c.id;
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / mysql スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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