元スレ【この先一体】MySQL 総合 Part15【どうなるの】
mysql覧 / PC版 /みんなの評価 : ○
402 = :
>>399
こんなのが公表されてんだ、あいつらにとっちゃ好都合なもんだよな。探す媒体を増やすのは分かるが、どうなんかねえ
403 :
パフォーマンスが悪くなってshow processlistしてみたら
数十秒かかってるLockedなプロセス(INSERT文、UPDATE文)がいくつもあるんですが
どのような原因が考えられr、どう対処したらよいでしょうか?
なるべくKILLはしたくないです
406 = :
>>403
全然つかっていないのに無意味にINDEX張っているとかいう可能性は?
407 = :
>>403
KILLより再起動が基本だね。
412 = :
>>404
週末留守にしていたので大変遅れました。
後方一致ってインデックス効かないんですね。
別切り出ししてやってみたいと思います。
413 = :
>>403
Locked じゃなくて、長時間かかっているクエリが原因
414 = :
datadirは一つだけど、その中のサブディレクトリを
別のドライブに移動することができるよ
415 = :
MySQLの本いろいろ見たんですが、解らん事あるのでお知恵をください。
データをインポートする場合です。
csv形式固定長で1レコード毎に改行コードが入る場合はすんなり行くのですが、これ
が、未改行の場合のインポートの仕方が解らないのです。
別会社のシステムで吐き出すため、改行入れてくれとも言えず、仕方ないので自前で
改行挿入するプログラムを噛ませて取り込んでいるのですが、そのまま出来ないもの
かと思いまして。
こう定義すれば出来るとか、それは出来ないとか教えてもらえれば幸いです。
416 = :
>>415
レコードの区切り文字が改行コードでない?
じゃあレコードは何で区切られてるの?
417 = :
だからカラム数で区切られてないんじゃないの?
418 = :
なんで、だからなのかな。
汎用機からエクスポートされたデータでパディング付きの固定レコード長だったり、
単に LF 以外の文字を改行マークとしている事を改行コードが無いと言ってるだけかもよ。
後者なら LINES TERMINATED BY で済むかもしれないけど、前者なら…
421 = :
>>416-418
舌足らずで申し訳ないです。
例えば、以下のような感じです。
項目A char(10)
項目B char(15)
項目C char(05)
項目D char(40)
だとすると
ホスト出力ファイルは全ての項目が固定長で
項目A,項目B,項目C,項目D,項目A,項目B,項目C,項目D,~略~項目A,項目B,項目C,項目D[EOF]
コレを自前で
項目A,項目B,項目C,項目D\n
項目A,項目B,項目C,項目D\n
項目A,項目B,項目C,項目D\n
と変換して取り込んでいるんです。
これでイメージつかめますか?
424 :
>>422
ありがとうございます。なかなか難しいですね。
unionという手もあるんですね。有難う御座います。試してみます。
426 = :
MySQL4.1-->5.0にして戸惑ったんで質問です。
テーブルaにカラム1~9があると仮定します。
MySQL4.1では、カラム1~7のみデータをinport出来ていたのですが、
5.0だとカラム8~9も追加したカラム1~9からなるデータでないとinport
できませんでした。
仕様変わったんですか?
まぁ正確なデータを作成していないのが悪いんですが、ファイル作成
プログラム作り直したりと、かなり不便ですねぇ。
427 = :
>>426
カラム名を1..7だけ指定してimportすれば済む話じゃね?
428 = :
>>426
カラム名指定でインポートなんて出来るんですか(知らんかったです
web徘徊してやり方覚えてきます。
429 = :
レス番、間違った。
>>427だった、自分にresしてどうするw
430 = :
キーがユニークキーがひとつのとき、
fld1 char(10) uniqueと書くのと、
primary key(fld1)と書くので
何か性能面等で違いは出ますか?
432 = :
上でカラム指定インポートの質問したものですが、追加でまた御教示ください。
邪道かもしれませんが、各カラムが日本語名となっております。
上記のインポートの際、
LOAD DATA INFILE "sample.txt" INTO TABLE sample_table (`カラム1`,`カラム2`,~略~,`カラム7`)
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n';
としてもエラーになります。
カラム指定の場合、日本語表記カラムはNGなんでしょうか?
433 = :
my.cnfでメモリ周りのチューニングを行おうと思ってます。
現在InnoDBのみ利用しています。
この場合key_buffer_sizeの項目はInnoDBでは全く利用していないということで最小値に設定してまってもいいのでしょうか。
他の部分で少しでも利用分を増やしたいと思っています。
よろしくお願いします。
434 = :
>>432
エラー内容とか、テーブルのカラムのデータ型とか書いた方がいいと思うよ。
「エラーになった」だけじゃ情報不足かと。
435 = :
>>433
クエリで内部的にMyISAMのテーブルを作ることがある
1MBぐらいは残しておいたほうがいいよ
436 = :
ある意味どうでもいい事かもしれませんが、ユニークな項目としてauto incrementを使う事ってあるのでしょうか?
個人的にauto incrementは好きではないのですが・・・。
437 = :
>>436
>auto incrementは好きではない
気持ちはわかる。
勝手に数字をふられるのが嫌なんだろ。
オレも最初はそうだった。
しかし、今では望んで使う。
レコード固有の一意な識別子としては
とても便利だからだ。
理由や理想じゃない。
我慢してちょっと使ってみろ。
440 = :
>>435
ありがとうございます!
予期せぬときに影響出そうですね。
多少多めに残しておくことにします。
441 = :
ようじょ
442 = :
>>434
内容無さ杉ですね、すみません。
以下のようなテストをしてみました。
使用DBはwindows版の5.0.83-community-nt MySQL Community Editionです。
「test_001」dbに、以下のコマンドでテーブルを作成。
CREATE TABLE `test_tbl` (
`基準日` int(8) NOT NULL default '0',
`業営所コード` int(3) NOT NULL default '0',
`営業所名` varchar(10) default NULL,
PRIMARY KEY (`基準日`,`業営所コード`)
) ENGINE=InnoDB DEFAULT CHARSET=sjis;
dドライブ直下に、以下の内容のtest.csv(基準日、営業所コードのみであり、営業所名はないデータで3レコード)を作成。
20080601,101
20080602,102
20080603,101
以下のコマンドにてインポート処理実施
LOAD DATA INFILE 'd:/test.csv' INTO TABLE test_tbl (`基準日`,`営業所コード`)
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\r\n';
で以下のエラーが発生。
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'' at line 2
という具合です。
MySQLのHPを見るとSQL文は良い様に思えるのですが、どこか間違っているのでしょうか?
443 = :
>>442
テーブルのカラム名が"業営所コード"になってるのはタイプミス?
CSVインポートのSQLは"営業所コード"になってるみたいだけど。
444 = :
>>442
以下のSQLで行けましたよ。ちなみに環境はwindowsの5.0.82。
LOAD DATA INFILE 'D:/test.csv'
INTO TABLE test_tbl
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\r\n'
(`基準日`,`営業所コード`)
445 = :
どうタイプミスをしたら業営所になるんだろ(*´д`*)
446 = :
>>445
そこかよw
447 = :
大変申し訳ないです、全く気付きませんでした。
月曜会社行ったら確認してみます(大汗
449 = :
writeロックかかってるから、待たされるだけだろ。
450 = :
無事やりたい事が出来ました。
カラム指定って一番最後でないと駄目みたいですね、>>443さんありがとう。
あ、カラム名が"業営所コード"って具合になってた原因は、navicat for mysql使ってるんですが、
これでテーブル定義すると結構な確立でなるんですよね。
普段はエディタでゴリゴリ書いちゃうんであまり気にしてませんでした(汗
みんなの評価 : ○
類似してるかもしれないスレッド
- 【MySQL】下らねぇ質問はID出して書き込みやがれ 2 (985) - [21%] - 2012/10/17 7:16
- 【】 MySQLを買収したSunを買収したOracleを 【】 (112) - [19%] - 2023/1/22 14:15
トップメニューへ / →のくす牧場書庫について