のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,738人
昨日: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
    102 = :

    キャッシュ
    適切なインデックスを張る
    memcached / KVS
    メモリにデータが乗るかどうか(乗り切れないとHDDへの物理アクセス発生して劇遅)

    などで調べてみると少し入り口が見えるかもしれません

    103 :

    カラム数が80個ほどでレコード数が1000万件くらいのテーブルが
    40個あります。
    40個のテーブルには随時更新がかかる状態なんですが、
    この40個のテーブルのある瞬間のデータを取得したい時って
    どうすればよいですか?
    データを取得するときには更新とかを行わせたくないのですが、
    ロックするしか無いのでしょうか?

    104 = :

    >>101
    データ件数によるパフォーマンスの劣化を気にするなら、30万件なり1200万件なり用意して
    テストしてみるのが一番だと思う。

    技術的にどうしているって訊かれても、実際に近いデータを用意して色々試して、EXPLAIN
    でその違いを調べる、の繰り返しかな。
    本とかに書いてある知識は、その調査のための手がかりかきっかけみたいなもので、そのもの
    ずばりとノウハウにはあまりなってない。少なくとも自分はそう思っている。

    108 = :

    プログラムの巧拙とテーブル設計の巧拙による・・・としか言いようがないな。

    109 = :

    mysqlの排他制御を自動でしてくれるのはphpぐらい?

    110 = :

    いやトランザクションなやInnodbがやってくれるじゃん

    112 = :

    ALTER TABLE tbl AUTO_INCREMENT = 10000;

    115 = :

    >>112
    ありがとうございました

    116 = :

    FROMがFORMになって全然気づかなくて困ったことあるヤツ挙手

    117 = :

    mysqlは

    fromキーワードが指定の位置にありません

    って言われないのか

    118 = :

    接続時間・負荷テストをしたいんですが、
    みなさん数万件レベルのデータってどのように取得しているんでしょうか?

    MySQL データ 数万件 サンプルあたりで調べてもヒットせず…

    120 = :

    趣旨がよく分からん
    プログラムでランダムに文字列作ってinsertするんじゃ駄目なのか?
    数万行のinsertなら数秒で終わるだろ

    121 = :

    適当に数十件程度の元データを作って、select,insertを繰り返していけば
    倍々に増えていくから何件だろうが
    作業自体は簡単。

    124 = :

    > 商品リストテーブルをJOINしたいのですがなかなかうまくいきません。

    どのようにうまく行かないのですか?
    どんなSQLを書いてみたかもわからないから応え難いです

    128 = :

    >>127
    30クエリバラバラにしたほうが早そうだな。

    129 = :

    1つのテーブル内にあるフィールド2つをまとめて
    ひとつユニークキーみたい(重複不可能)に
    したいのですが、どうやるのでしょうか?
    MyISAMです。

    130 = :

    >>129

    http://dev.mysql.com/doc/refman/4.1/ja/multiple-column-indexes.html

    131 = :

    >>127
    MySQLでテーブル二桁JOINする時点でたぶんダメ。
    Oracleと同じJOIN順になるようにFROM句並べ替えてSTRAIGHT_JOINつけてみて、
    改善されないようならOracle買うかPostgreSQLで。

    133 = :

    >>132

    mysql -u root -pパスワード < dump.sql

    だったらどうなる?

    134 = :

    >>133
    ありがとございます

    135 = :

    「MySQLは1つのクエリーで1つのテーブルに対し、1つのインデックスしか機能しない」

    というのを見かけたのですが
    これって5.1でもそうなのでしょうか?

    1つのテーブルに複数のインデックスをつけても意味が無いというわけ?

    136 = :

    >>135
    INDEX MERGEは前からあるので「1つのインデックスしか~」は嘘。
    http://dev.mysql.com/doc/refman/5.0/en/index-merge-optimization.html

    ただ個人的にINDEX MERGEで速くなった経験はないな。OracleでもMySQLでも。
    手抜きしないで複合INDEX作った方がいい。

    137 = :

    >>129>>131
    クエリをバラすと、テストデータ程度の件数に置いては他のDBMSと遜色ないレベルに
    なることがわかりました。

    が、データ量が増えた際の不安が残っておりますので、他のプロダクトへの
    乗り換えも含めて検討したいと考えています。

    ありがとうございました。

    139 = :

    Aテーブルに、
    c1, c2, c3, c4, c5, c6
    という6個のカラムがあり、
    このうち3個以上がnullでない行を取り出したいのですが、
    SQLでどう表現すればいいのか分かりません。
    分かる方がいましたら教えてください。お願い致します。

    141 = :

    >>139
    WHERE IF(c1 IS NOT NULL, 1, 0)
    + IF(c2 IS NOT NULL, 1, 0)
    + IF(c3 IS NOT NULL, 1, 0)
    + IF(c4 IS NOT NULL, 1, 0)
    + IF(c5 IS NOT NULL, 1, 0)
    + IF(c6 IS NOT NULL, 1, 0) >= 3

    142 = :

    >>141
    頭いいな

    143 = :

    へーこんな書くんかー

    144 = :

    >>141
    ありがとうございました!
    無事期待通りの動作を実現できました。
    JOINとかサブクエリとかごちゃごちゃ使わないと無理だと思っていたので目から鱗でした。

    145 = :

    すいません名前間違えました。

    146 = :

    >>141
    Excel VBAだなw

    147 :

    >>103
    InnoDBなら、トランザクション分離レベルを適切に設定してあげればできそう。

    148 = :

    現場で使えるSQLという本のP221の
    「商品IDを引数で指定し、その卸単価を商品マスタから取得するストアドプロシージャを作成せよ
    ただし、卸単価は引数に格納し、該当商品が無い場合は卸単価に-1、その他のエラーの場合は-2を格納せよ」
    という問題にて、色々と試しまくって、結局
    DROP PROCEDURE SP;
    DELIMITER $$
    CREATE PROCEDURE SP ( IN id int, OUT price int )
    BEGIN
    DECLARE CONTINUE HANDLER FOR SQLWARNING SET price = -2;
    DECLARE CONTINUE HANDLER FOR NOT FOUND SET price = -1;
    DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET price = -2;
    SELECT 卸単価 INTO price
    FROM 商品マスタ
    WHERE 商品ID = id;
    END $$
    DELIMITER ;
    CALL SP(15, @price);
    SELECT @price;
    とし-1が表示されました。
    しかし、CALL SP(a, @price); 等とすると、-2と表示されるのかと思ったら、普通にエラーが出ました。
    自分のSQL文がどこが間違っているのかご指摘願えませんか?
    そもそも、-2を出力するような、その他の例外と言うのがどういう状況の事を言っているのか分かりません。

    149 = :

    既存のテーブルのcreate文を確認する方法ってありますか?
    ご存知でしたら教えていただきたいです。

    150 = :

    >>149 バックアップの中身を見たことあるか?


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

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


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