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

元スレMySQL 総合 Part19

mysql覧 / PC版 /
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 / 要望・削除依頼は掲示板へ / 管理情報はtwitter

951 = :

>>950
ありがとうございます!
プログラム側で対処する事にします!

953 = :

500MBでしょ?5時間もすればおわるでしょ

954 = :

>>952
見てないけど、sql文のはじめの方でインデックスを作成してる場合は、インデックスを作成せずに create table をやると多少というかかなり速くなる
で、タプルが全部 insert された後にインデックスを追加する
(たぶん、sqlファイルの最初のcreate table 文でキーの指定をしてるので、それを全部取り除く)

あと、ファイルサイズと関係なく、MySQLはタプル(行、レコード)の数が10万を超えると、検索の方も遅くなって使い物にならなくなるので、タプルが10万を超える場合は、かなり慎重に設計や最適化をする必要がある
(ちゃんとやれば、10万以上でもそれなりに速く動く)
>>952 のダンプデータは本当に MySQL のダンプなのでしょうか?

955 = :

mysql-connector-netをダウンロードしに行ってきたんですが、
メアドでfoo.bar@site.comみたく前半でドットが入ると蹴られるのね。

956 = :

>>955
そりゃRFC違反だからな。弾きもするだろ。

957 = :

>>953
まさに5時間ぐらいでした
こんなものなのかー

インデックス削れば速くできますよね、ありがとう気づかなかった

958 = :

2分48秒でロードできたよ

MySQL 5.5.11、Core i5-2400S、Intel X25-M G2 120GB
innodb_buffer_pool_size = 2G

959 = :

>>954
タプルってtableのこと?
そういう読み方流行ってんの?

960 = :

>>958
Innodb なら log buffer sizeも関係ありそう?

まぁ、質問主がどんなSQLなんかわからんけど、1行ずつ入れると遅いし
insert .... values(),(),()
は常識だよな?

961 = :

10万程度ならインデックスなくてもそれなりに早いよな。

963 = :

>>962
Wikipediaのデータで遊びたいなら全文検索あったほうがよくないか?
それならMyISAMになるが。日本語だとちょいと工夫がいるけど。
groongaとかで遊んで見たら?

965 = :

>>959
釣りだと思うけどw
タプル=セット=組=レコード一件

968 = :

>>967
SELECT ID,NAME FROM unko GROUP BY NAME;

MySQL以外じゃろくに動かないから注意な

971 = :

あ、安価間違いましたorz
>>968さんありがとうございました。

972 = :

>>962
他の設定次第だけど insert が多い場合は
set global innodb_flush_log_at_trx_commit=0
も速くなるよ。
これするとクラッシュしたときデータが当てに
ならなくなるので大量の insert などが終わったら
set global innodb_flush_log_at_trx_commit=1
で元に戻しておいたほうがいい。
# 手元の開発環境とかならお好きに

本番環境でも大量にある参照用スレーブとかは
この設定にしておくとレプ遅延が起こりにくかったりする。

973 = :

>>965,966,969
「ブ」じゃなくて「プ」なのか。タプルって用語を知らなかった。

974 = :

>>956

RFC5321 4.1.2. を読んで言ってるんだろうね?

975 = :

>>974
そりゃもちろん。メール絡みのRFCは全て読んだよ。
まあここはMySQLのスレだから これ以上は屋上いこうか。

976 = :

>>975

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

読んだだけでまるで理解していないというのはかなりたちが悪いんだよね。
何事も半可通が一番迷惑なんだよ。

977 = :

>>976
半可通って久し振りに聞いた。

978 = :

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 = :

ドットを使うくらいじゃRFC違反にはならないからね

980 = :

>>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 = :

>>980
やっぱり列の数に応じて必要なだけjoinするしかないんですかね…。

982 = :

間違えた。こうか?

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一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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