>>951 >bash: c:mysqldatainsert.sql
ディレクトリ構成からするとWindowsで使ってるように見えるんだけど、DOSプロンプトじゃなくてbashということはCygwinかMSYSあたりで使ってる?
だとしたら、Cygwinなら
/cygdrive/c/mysql/data/insert.sql
のような形にすればいけるかも。
>>952 基本情報ごっそり抜けて済みません。
自分はwinXPprofetnolで操作してまして、アップロード希望先のサーバは
DTIで借りてるserversman@vpsです。操作はteraterm様で行っています。
teratermの代わりにCygwinを使うの早速やってみます。ありがとうございます。
Cygwinて昔、何かで触って以来です。自信んっしん。
954 :
952:2011/10/13(木) 04:45:20.33 ID:???
>>953 つまり
・SQLファイル = 自PCのデスクトップ
・DB = VPS
・VPSへの接続 = Teraterm
ですよね。
それだとCygwin使っても状況は変わらない。
mysql> SOURCE c:¥mysql¥data¥insert.sql
はTeraterm上の(つまりVPS上の)ファイルを見に行くわけだから当然該当ファイルは無いわけだし、
# mysql -u ユーザー名 -p -h ホスト名 DB名 < c:¥mysql¥data¥insert.sql
も先頭が#なところからしてTeraterm上(=VPS)で行ってるだろうから、これもだめ。
ものすごい基礎の基礎を見逃していてお恥ずかしいというか
先ずsqlファイルをどうにかしてvpsサーバへ送り込まないとならんわけですね
そう。それがffftpで何故か送れなくて(重すぎる?)アレなのでした。
ちょっと寝て起きたら移送方法をちゃんと調べます。展開は間違ってない富田。
どうもありがとう。
956 :
952:2011/10/13(木) 04:51:47.57 ID:???
>>953 というわけで、恐らく一番簡単な正解は
「SQLファイルをVPSにアップロード」ではないかと。
VPSに
/home/{953のユーザ名}/insert.sql
の形でアップロードして、
# mysql -u ユーザー名 -p -h ホスト名 DB名 < /home/{953のユーザ名}/insert.sql
でいけると思う。
要は、サーバ側で作業するならサーバ側にSQLファイル置こうねって事です。
WindowsにMySQLクライアントインストールしてるなら、「DOSプロンプト上から(つまり自端末から)」
mysql -u ユーザー名 -p -h ホスト名 DB名 < c:¥mysql¥data¥insert.sql
すれば行けると思うけど、自分はやったことない。
957 :
952:2011/10/13(木) 05:00:25.41 ID:???
あーそうですね、955 の理解であってると思いますw
serversmanかFFFTPに固有の事情があるのかもしれないけど、自分はさくらVPSでマカーなのでその辺はよくわからないや。
軽いファイルや空ファイルでチェックするのが早そうだけど、この辺はMySQLの話題ではなくなるのでこの辺で。
serversmanは自分で設定しないかぎりftpd動いてないだろ
scpしろ
Datetime型のフィールドについて、現在より30分前のものという条件でセレクトしたいときはなにを使うべきでしょうか?
> なにを使うべきでしょうか?
どういう意味?
>>959 WHEREを使って30分前を指定してあげればいい。
>>960 こうやって回答してあげるのが楽しいんだ。
962 :
>>949:2011/10/14(金) 00:38:48.89 ID:???
お安い御用です。
次スレの季節
>>959 ヒント:time_add(), between, now()
>>959 30分前ってことは、現在時からジャスト30分0秒前、ってことだよね。
967 :
NAME IS NULL:2011/10/14(金) 21:06:34.14 ID:bpCxU2Us
商品Aが複数カテゴリ(別テーブルにて定義、それをJOIN)に入ってる場合に
こんな感じで帰ってくるんだけどこれでいいの?初めての設計でよくわからない。
itemId ... categoryId
A ... 4
A ... 5
A ... 6
見た目上は商品名とかの ... が何度も繰り返しされてるようで気持ち悪い。
内部的に何らかの最適化が行われてるといいんだけど、他にいい方法があるのかな?
それと、PHPで利用する場合にこのレコードを順に走査していって、前回と同じIDなら
そのIDに対してカテゴリを追加って具合で大丈夫?
あってない。
DB設計を勉強しましょう
PHPで順に操作とかアホのやること
PHPで順に捜査とか天才のやること
多対多ならこの構成でいいんじゃないの?
DB設計でならあってる
見た感じ多対多じゃなくて1対多じゃね?
用途がまったく想像できますん
あんたに想像してもらいたくない
>>967 とあるものが複数カテゴリに属してるなら、そうなって当たり前だろ。
当たり前かどうかは当人の価値観に依存する
じゃあ定石で
うちのは力石
SNSサイトを作っているのですが、DBに投稿した日記(Text)の冒頭部分のみを取り出すにはどうすればいいでしょうか
レコード登録時に冒頭部分のみのカラムを作るのも効率が悪い気がしてきて・・
>>985 LEFT関数中々便利ですね
Textを全文取り込んで文字列操作するよりもメモリが節約できそうです
ありがとうございます
お安い御用です。
id int
category_id int
post_date datetime
comment varchar(255)
count int 5.1 MyISAM
100万件以上あるテーブルで、
数種類あるカテゴリ別に月単位でcountの多い順に20件集計したいのですが、
どこにインデックスをつけたらいいですか?
試してみたところcategory_idとcountの複合インデックスが一番早かったのですが、
もっと早くなるいい付け方はないでしょうか
サマリ作る
>>989 yyyymmってカラムを追加して
(category_id, yyyymm, count)というインデックスを作り、
SELECT ... FROM ttt
WHERE category_id = aaa AND yyyymm = bbb
ORDER BY count DESC LIMIT 20;
をcategory_id分繰り返すのが速い。
けど先月分まで確定してるならあらかじめサマリ作っておけばいい
992 :
989:2011/10/17(月) 16:35:11.66 ID:???
ありがとうございます。試してみます。
お安い御用です。
次スレまだ?
このスレで終了します。
次はオラクルに統合だな
お安い御用です。
oracleのexpressedition入れたら、めちゃ重たくなったんで、それは嫌
梅
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。