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

    私的良スレ書庫

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

    元スレMySQL 総合 Part14

    mysql スレッド一覧へ / mysql とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - 1 + - mysqldump + - rXBUq5sa + - share + - utf8_bin + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    551 : NAME IS - 2008/10/04(土) 18:01:59 ID:??? (+23,+29,-33)
    このスレ、アホばっかだな
    質問もアホなら答える奴もアホ

    >>548-550は質問の内容と>>546をよく見たら?
    質問がアホすぎるから解読大変だけど、オマエラもアホ
    552 : NAME IS - 2008/10/04(土) 21:21:45 ID:GMrT+eWs (+24,+29,-17)



    とりあえず、通ぶって「マイスクル」っていうのをやめろ!!



    554 : 553 - 2008/10/05(日) 11:30:44 ID:??? (-28,-26,-27)
    すみません、途中で送信してしまいました。。
    上記のような事をしたい場合、どういうSQL文を書けばよいのでしょうか?
    バージョンは4.1.22を使っています。
    556 : 553 - 2008/10/05(日) 14:07:14 ID:??? (+23,+29,-2)
    >>555
    上手く目的通りできました。ありがとうございました。
    557 : NAME IS - 2008/10/05(日) 16:11:11 ID:??? (+28,+29,-26)
    >>555
    おいおい、そのSQLパフォーマンス的には最悪だぞw
    動けばいいとか思っている奴や趣味でやっている奴ならいいが。
    558 : NAME IS - 2008/10/05(日) 16:53:54 ID:??? (+22,+29,-5)
    じゃ、お前が例文出してみろよ。
    559 : NAME IS - 2008/10/05(日) 17:38:13 ID:??? (+31,+29,-27)
    自分ならプログラム側で処理しちゃうかなあ。

    >557
    趣味と言うか、実行される頻度が少ないなら……かも?
    560 : NAME IS - 2008/10/05(日) 22:05:19 ID:hWt3oaRG (+35,+29,-64)
    MySQL 5 を利用しています。

    先月の25日から今月の24日までをselectしたいんですが、どやればいいんでしょうか。。。
    いろいろググりましたが、先月の25日の出し方がわからずここに来ました。

    どうかよろしくお願い致します。
    561 : NAME IS - 2008/10/05(日) 23:20:41 ID:0Qb0kFe2 (+32,+29,-44)
    >>560
    SQLでやるべき計算ではないし、第一、処理が意味不明だ。
    3月31日までの場合、2月30日からということでいいのか?
    日数か週ベースで計算するべきでないか?
    とか余計なこと考えちゃったよ。
    562 : NAME IS - 2008/10/05(日) 23:53:56 ID:??? (-22,-30,-56)
    >>561

    すいません。説明が足りませんでした。

    値  登録日
    値1、2008-09-24
    値2、2008-09-25 *ヒット
    値3、2008-10-01 *ヒット
    値4、2008-10-24 *ヒット
    値1、2008-10-25

    とテーブルから値を引きたいんです。PHP側でやった方がよいでしょうか。。。
    563 : NAME IS - 2008/10/06(月) 00:06:20 ID:??? (-29,-30,-87)
    今日の日付 - INTERVAL 1 MONTH でたいていはいけると思うけど、
    前の月に対応する日がない場合があるから注意。

    以下のような動作になるのでそれで困る場合はさらに考えてくれ。


    MONTH 、YEAR_MONTH 、または YEAR を加え、結果の日付が新しい月の最大日数より大きな日を持つ場合、その日は新しい月の最大日数に調整されます。

    mysql> SELECT DATE_ADD('1998-01-30', INTERVAL 1 MONTH);
    -> '1998-02-28'
    565 : NAME IS - 2008/10/06(月) 00:22:05 ID:??? (+32,+29,-48)
    DATE文の質問が続いているけど、
    557が言うようにSQLだけで処理するべきじゃないの?
    俺はいつもそうしてるんだがw

    PHPで処理するとしたら、一度登録データと照合して
    それを配列に入れてまた出力…って感じでこっちの方が重そうだが。
    566 : NAME IS - 2008/10/06(月) 00:35:04 ID:??? (-29,-30,-80)
    先月の25日が欲しかったのか。日付取り出して足したり引いたり
    してもいいけどdate_format使った方がすっきりするかな。

    mysql> select date_format(now() - interval 1 month, '%Y-%m-25');
    +---------------------------------------------------+
    | date_format(now() - interval 1 month, '%Y-%m-25') |
    +---------------------------------------------------+
    | 2008-09-25 |
    +---------------------------------------------------+
    1 row in set (0.00 sec)
    571 : NAME IS - 2008/10/06(月) 13:16:38 ID:??? (+23,+20,-260)
    ○思想的な
    MySQLはデータを保管するサーバ。
    多数のプロセスやリモートサーバからアクセスされる前提で作られている。
    SQLiteはローカルファイルを読み書きするライブラリだと思っておけばよい。
    ネットワーク越しのアクセスは想定されていないし、ユーザ管理もできない。

    ○ライセンス的な
    MySQLは有料を含む特殊なライセンスで縛られている。
    SQLiteはパブリックドメインなので何をしても良い。

    ○技術的な
    MySQLはセットアップもチューニングも複雑で、バックアップもSQLダンプせにゃならんので使いこなしが大変。
    SQLiteは大規模な用途には不向き。メモリが溢れる。でも全OS共通のファイルベースなのでハンドリングが楽。

    こんなところか?
    572 : 0 - 2008/10/06(月) 15:24:01 ID:??? (-7,+4,-11)
    おねがいします
    575 : NAME IS - 2008/10/07(火) 10:51:38 ID:??? (-17,-30,-107)
    サーバのバージョン: 5.1.24-rc-log 他たぶん5.1系列を使っています。OSはFreeBSD6系列と7です。

    ibdata1が大きくなってきました。困りました。
    いくつかのブログではテーブルごとに分割して
    ALTER TABLE tablename TYPE=InnoDB
    をせよ、と書いてありました。

    公式をみたらdumpしてrestoreしろって書いてあるのですが、どっちをやるべきか
    迷っています。
    http://dev.mysql.com/doc/refman/5.1/ja/adding-and-removing.html

    そこでそれぞれの特徴とか長所短所とか理由とか他のカッコイイ方法などを
    教えていただけるととてもうれしいです、教えてください。
    576 : NAME IS - 2008/10/07(火) 13:57:55 ID:??? (-28,-30,-174)
    テーブルごとに分割ってinnodb_file_per_tableのこと?
    これを仕掛けてalter tableすると、テーブルデータは
    別個のibdファイルに入るけど、メインのibdata1はそのままで
    小さくならない。
    (file_per_tableしてもibdata1は内部処理のために引き続き必要)

    dump/restoreは一旦ibdata1が小さくなるが、
    そのうちまた大きくなるんじゃない?

    だから
    (1) dump
    (2) innodb_file_per_table設定してibdata1を100MBぐらいで再作成
    (3) restore
    が一番幸せ
    578 : NAME IS - 2008/10/07(火) 18:46:42 ID:??? (-28,-30,-114)
    innodb_file_per_table、
    うちで評価したときは性能差はまったくなかった。

    Heikki(InnoDB作者)が書いた以下の資料が参考になると思う。
    http://www.innodb.com/innodbtalkCC2004b.pdf

    P13を見ると、特にデメリットはないと書いてある。
    There are no clear disadvantages in using multiple tablespaces.

    5.1のパーティション機能との相性もよいことだし
    (パーティションごとにibdをつくってくれる)、
    どんどん使っていいんじゃないだろうか。
    579 : NAME IS - 2008/10/07(火) 19:45:52 ID:??? (-27,-30,-87)
    登録月から今月まで何ヶ月経過しているか出したいのですが、以下の様にテスト
    していますがうまくいきません。(日でなく月の値です)

    登録日はdatatime型で入っています。

    select date_add('2008-09-07 00:00:00',interval -now() month);
    +-------------------------------------------------------+
    | date_add('2008-09-07 00:00:00',interval -now() month) |
    +-------------------------------------------------------+
    | NULL |
    +-------------------------------------------------------+

    1じゃなくて、ぬるぽかよ。。。orz

    どこが悪いのでしょうか?お知恵を拝借させて下さい!
    580 : NAME IS - 2008/10/07(火) 19:58:06 ID:??? (+27,+29,-47)
    なんか根本的にまちがってる気がしてきた。
    上のやり方だと、成功したとしても先月の日付はでるけど、1にはならない。。。orz

    頭が混乱してきました。。。今夜中に終わるのか。。。
    581 : NAME IS - 2008/10/07(火) 20:04:37 ID:??? (+0,-30,-25)
    自己解決しました!

    select month(current_date)-month('2008-09-07 00:00:00');
    1

    で行けました!ありがとうございました!
    582 : NAME IS - 2008/10/07(火) 23:51:45 ID:??? (-25,-28,-40)
    http://www.sanisoft.com/blog/2007/07/18/related-tags-search-by-tags-in-cheesecake-photoblog/
    の下のほうのWHERE IN使ってるほうで
    ソーシャルブックマークの関連タグ機能を作ってるんですけど
    WHERE INのせいなのかサブクエリのせいなのか
    すごい遅いんですけど
    早くする方法ないですか?
    583 : NAME IS - 2008/10/08(水) 00:26:43 ID:??? (+8,+7,-23)
    >>581
    一人上手乙。

    ところで、そのクエリだと登録日が去年の12月とかだと -2 にならない?
    584 : NAME IS - 2008/10/08(水) 00:50:44 ID:??? (-16,-29,-36)
    すみません詳しい人教えてください。
    MySQL5.1でrawデバイスの上にDB乗せた人はいますか?やっぱり速いですか?
    MyISAMよりInnoDBのほうが効果てきめんですか?
    http://www.thinkit.co.jp/free/article/0608/1/2/
    とか見るとファイルシステムなんてそもそも不要なInnoDBに効果あり一本という気がするのですが。。。
    585 : NAME IS - 2008/10/08(水) 01:39:55 ID:??? (-26,-29,-36)
    ケースバイケース。
    ただ、Rawdeviceの方は、運用上のデメリットが大きいから、あまり使われないと思うが。
    SolarisZFSだと、RawDeviceにしてもパフォーマンス上がるどころか落ちるみたいだし。
    587 : NAME IS - 2008/10/08(水) 09:40:16 ID:??? (-26,-24,-42)
    InnoDBをファイルコピーしてんの?
    それ、まずくない? バイナリの互換性は保証されてないよ。
    588 : 581 - 2008/10/08(水) 16:26:00 ID:??? (-29,-30,-117)
    >>583

    >ところで、そのクエリだと登録日が去年の12月とかだと -2 にならない?

    (((( ;゚Д゚)))あわわわわ。。。

    (root@localhost)[i]>select month(current_date)-month('2007-09-07 00:00:00');
    +--------------------------------------------------+
    | month(current_date)-month('2007-09-07 00:00:00') |
    +--------------------------------------------------+
    | 1 |
    +--------------------------------------------------+

    -2にはならないけど、1になる!年越してない。。。orz

    13にしたいんだけど、どすればいいんでしょーか (´・ω・`)

    実装前にここ見に来てよかった・゚・(つД`)・゚・
    589 : NAME IS - 2008/10/08(水) 16:49:02 ID:??? (+33,+29,-7)
    そりゃ年も考慮して差をとらないからだろ。
    590 : 581 - 2008/10/08(水) 18:02:23 ID:??? (+32,+29,-6)
    >>589

    うん。

    でどやってとるの?。。。
    591 : NAME IS - 2008/10/08(水) 18:05:43 ID:??? (+5,+10,-20)
    year()というので年の部分がとれるからそれぞれ求めてから引き算して12倍すれ
    594 : 584 - 2008/10/09(木) 00:02:59 ID:??? (+32,+29,-28)
    色々ググって見ました。
    http://jp.superuser.co.kr/home/lecture/index.php?cateNo=3&secNo=16&theNo=46&leccode=328
    とか見ると5%くらいしか性能違わないみたいですね。
    Windowsの例があんまりないのが寂しいが。。。
    ああちょっとがっかり。
    595 : NAME IS - 2008/10/09(木) 16:34:52 ID:??? (+67,+29,-91)
    ある特定のカラムに1, 2, 3, ..., nまでをinsertとかupdateするにはどうしたらいいですか?
    sqlとストアドプロシージャのどちらに解決方法があるかわかんなくてここで質問・・・、ここ総合だけどいいのかな!


    現在プライマリキーを外部のプライマリキーと一致させようとしてまして、
    外部キーがnullのところは1から順に採番させようとおもっています。先の方にデータが無いやつでして。

    いったんあるカラムにプライマリキーっぽい列をつくって制約を変更させようとしています。
    596 : 595 - 2008/10/09(木) 20:13:05 ID:??? (+3,+12,+0)
    解決しました
    597 : NAME IS - 2008/10/09(木) 20:44:44 ID:??? (+30,+29,-30)
    解決方法も書いていってください…誰かのために
    600 : 595 - 2008/10/10(金) 10:19:55 ID:??? (+33,+29,-32)
    >>597
    ところがどっこい>>596は騙りです・・・!
    質問スレでのageてID出すのは常套。

    というわけで一応引き続き>>595を募集しております。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / mysql スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - 1 + - mysqldump + - rXBUq5sa + - share + - utf8_bin + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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