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

    元スレ【この先一体】MySQL 総合 Part15【どうなるの】

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

    651 = :

    >>648
    ありがとう!

    654 = :

    オレはLEFT JOINを多用しているけど、知人はINNER JOINを多用していると言われた。
    INNER JOINのほうが使いやすいのかな・・・
    もちろん状況にもよるだろうけど。

    656 = :

    ほんとにJOINしたことなかったんだw
    がんばってください

    657 = :

    >>654
    オレは、LEFT OUTER JOINばっかり。
    それだけといっても過言ではない。

    INNERとかCROSSとかいろいろあるけど、
    使うべきケースがまったくわかんね。orz

    658 = :

    JOINとかサブクエリーとか覚えると世界が広がるからガンガレ

    661 = :

    アスタリスクで書いたらそうなるね。
    手抜きしないで
    select t1.id, t1.hoge, t1.fuga, t2.foo, t2.bar
    と必要な列だけ書きましょう。
    ちなみにうちの会社では「select *」はコーディング規約で禁止されてます。

    662 = :

    >>661
    それしかないんですか…
    全部で50個くらいカラムがあるんだけどそれでも個別に書いてくってことですよね?
    大変だなぁ。。
    とりあえずそうします、ありがとうございました。

    665 = :

    >>664
    クラス化っていうのはphpとかのプログラム側で関数化するってことですよね?(mysqlの用語ではなくて)
    >最初の一発目も、desc テーブル名とかでカラムリストとって
    ってなんですか?
    クラス内のクエリ文を手作業で、t1.col1,t1.col2,t1.col3,t1.col4,…って書いていく時に、
    テーブル構造を出力して見ながらやろうっていう事ですよね? 

    666 = :

    >>665
    見ながらやるんじゃなくて、テーブル構造をコピペしてテキストエディタかなんかでマクロを使うか、
    sed等で置換するかして機械的な処理で整形してください。
    という意味です。がんばってね。ここで手を抜かないことが大事だよ。

    667 = :

    >>666
    あー、なるほど! よくわかりました、ありがとう!

    668 = :

    あちゃー
    オレも面倒なときはつい * を使ってしまうわw
    * と 個別にカラムを指定するのって速度的に違いはあるのかな?
    感覚的に * のほうが処理速度は速そうだけど・・・。

    669 = :

    select対象列がすべてインデックスの中に入っていると、
    テーブルアクセスをスキップできるのでとても速い。
    select *してしまうと実テーブルを読まざるを得ない。

    カバーリングインデックスというテクニックです

    670 = :

    >>669
    へえー、そう言う事情があるんですか
    今試してみたら両方のやり方で速度の差なかったけど、何十万件になると違いが出るんでしょうか。。
    どうもありがとう

    671 = :

    テーブルがメモリに入りきらなくなるあたりから差が出るよ

    672 = :

    MySQL 5.1 にて
    CREATE TABLE `word_count` (
    `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
    `word` varchar(12) NOT NULL,
    `count` int(10) unsigned NOT NULL,
    PRIMARY KEY (`id`),
    UNIQUE KEY `word` (`word`)
    )
    と言うテーブルで、
    select * from word_count where instr('ここに文章が入ります',word);
    を実行すると、key が使われなくて速度が出ません。
    もっと効率よくできる書き方はありませんか?

    675 = :

    全部見るしかないからむりじゃね

    676 = :

    TRIEとか使えないの?

    677 = :

    >>676
    http://dev.mysql.com/sources/doxygen/mysql-5.1/trie_8c-source.html
    これですか? ちょっと調べてみますが、具体的な使い方を教えていただけると助かります。

    678 = :

    質問です

    MySQL5.4の機能であるBKAを使用したのだが
    併せてsennaの日本語全文検索機能も使いたいと思っています。

    5.4にはsennnaのパッチが当てられないので困っていますが
    対応方法ほか良い案などありますでしょうか。

    現在はTorittonの5.0,67を使ってますが外部結合が遅い・・・

    680 = :

    トリガーについて教えてください
    MySQL 5.1.35 Windows を使って勉強中なんですけど

    table shouhin_master  ←マスターテーブル
    code int
    name varchar(20)

    delete_flg tinyint

    table data_tbl ←データテーブル
    code int
    data1


    外部制約でshouhin_masterからcodeを消した時
    data_tblの該当するcodeデータを消すようにはしているのですが。
    マスターテーブルのdelete_flg に9を立てた時にトリガーを使って
    data_tblの該当するcodeのデータを削除する事出来ますか?
    出来るとしたら、どういうトリガーを書けば良い?

    681 = :

    >>679
    パフォーマンス試験じゃなければ、そういう構築例は仮想マシンでやればいいから1台あればいいんじゃね?

    682 = :

    >>680
    NewとかOldとか使え
    begin
    if new.delete_flg = 9 then
     delete from data_tbl where code = new.code;
    end if;
    end

    683 = :

    >>682
    ありがとうです。勉強させて頂きます。

    685 = :


    userTblをJOINしてなきゃ、そりゃエラーになるだろう

    686 = 684 :

    どこでJOINしたら良いんでしょうか?
    3つまでの解説はよく見かけるんですが、4つ以上は見つけられなくて困ってます

    687 = 684 :

    お礼書き忘れた。
    >>685 ありがとうございます

    688 = :

    どこでも何も、そのまま続けて書けばいい。
    FROM ~ JOIN ~ JOIN ~ JOIN ~
    解説以前に、まずはマニュアル読むべき。

    689 = 684 :

    >>688
    ありがとうございます
    ずっとマニュアルは読んでるんですが、どうも理解できなくて。。
    すみません、教えてください お願いします

    692 = :

    これが新手のマルチ投稿か

    693 = :

    ランタイム情報の
    Slave_runningの値「ON」か「OFF」をmysqlで求めるには、
    どのようなクエリを渡せばいいのでしょうか?

    694 = :

    show status like 'Slave_running';
    を、それぞれのプログラミング言語で
    select文と同じように実行すれば取れるよ。

    696 = :

    相談です。

    16桁の数字からなる商品番号を格納するカラムのデータ型は何がいいでしょうか?
    (1) BIGINT型で、16桁の整数として格納する
    (2) CHAR(16)型で、16個の文字からなる文字列として格納する

    (1)と(2)と、どちらが検索が速いでしょうか?
    データ件数は、10万~100万件程度です。

    アドバイスよろしくお願いします。

    697 = :

    >>696
    64bitならもちろん、32bitでも、bigint のほうが早いはずだぜ。
    まぁ、やってみたら?

    698 = :

    >>697
    アドバイス、ありがとうございます。
    16桁の商品番号の格納は、BIGINT型で行ってみます!(・∀・)

    一応ベンチマークも測ってみようと思って、今100万個のテストデータを作成中ですが、
    MySQL5のストアドプロシージャとかで、乱数を一気に100万個ぐらい作る方法ありますかね?
    =とりあえずPHPスクリプトで、5000個ずつINSERTしてます><

    700 = :

    すまん、
    書き込んだ直前以降はちゃんと同じ値になってました。
    なんか構文間違ってたんだと思います。


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

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


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