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

私的良スレ書庫

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

元スレMySQL 総合 Part18

mysql スレッド一覧へ / mysql とは? / 携帯版 / dat(gz)で取得 / トップメニュー
スレッド評価: スレッド評価について
みんなの評価 :
タグ : - megab + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
レスフィルター : (試験中)
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
151 : NAME IS - 2010/08/01(日) 15:57:41 ID:??? (-29,-30,-70)
下のパターンで速くなるなら、
上のクエリにSTRAIGHT_JOINつけてみて。

SELECT STRAIGHT_JOIN a,b,c FROM t1
INNER JOIN chk ON (Yid = t1.c and Mid = '$id')
where a = '1' and b = '2'
order by Time DESC

うまくいったら両方のEXPLAIN見せてほしい
153 : 143 - 2010/08/01(日) 16:52:44 ID:??? (+27,+29,-35)
とおもったら、しばらく回してたら激重になっちゃいました。
もう少し本とか買って勉強したいと思います。
お付き合いありがとうございました。
154 : NAME IS - 2010/08/01(日) 21:51:07 ID:??? (-27,-30,-192)
0.1秒を切るレベルでのチューニングなのか
そしたらちょっと難しいな

CREATE INDEX t1_test ON t1 (a, b, Time);
とやってEXPLAIN1行目のUsing filesortを消す、

さらに
CREATE INDEX mytubu_test (Yid, Mid);
とやってEXPLAIN2行目にUsing indexが付けばもうちょっと良くなるかも

あとはパラメータ側で、MyISAMならkey_buffer_size、
InnoDBならinnodb_buffer_pool_sizeを数十~数百MBに増やす、
それからsort_buffer_sizeを1~2Mに増やしてみるぐらいかな
155 : NAME IS - 2010/08/02(月) 11:12:07 ID:??? (-29,-30,-67)
MySQL 5.0.91
CentOS 5.4

DBアクセスを参照のみに制限したくて、
GRANT SELECT on `test-db`.* to `db-user01`@`%` identified by 'password';
FLUSH PRIVILEGES;
とやったのですが、試したら普通にUPDATEできてしまいます。
書き込みを制限するにはどうすればいいんでしょうか?
156 : NAME IS - 2010/08/02(月) 13:38:34 ID:??? (-26,-29,-53)
基本的な事聞いていいですか

where a=1 and b=5 and c=abc

a,b,c全てにインデックスを貼っている場合と、一つ或いは二つしか貼っていない場合だと速度は違いますか
つまりwhereで使うもの全てにインデックスを貼ったほうが性能があがるんでしょうか
157 : NAME IS - 2010/08/02(月) 13:59:13 ID:??? (+13,+25,+0)
はい
158 : NAME IS - 2010/08/02(月) 14:25:29 ID:??? (-1,+5,+1)
ありがとうございました。
160 : NAME IS - 2010/08/03(火) 12:08:01 ID:??? (+28,+29,-51)
>>159
どうもです。PHPからdb-user01で接続しているのでそれはないですね。
人に聞いたら、そもそもそういう書き込み制限はできないみたいです。
じゃあGRANT SELECTって何よ、って気もしますが…。ぐぐったらできそうなこと書いてあったんですが
実際できないものはしょうがない。
アプリ側で誤って書き込まないよう気を付けるしかないようですね。不安だ。
162 : NAME IS - 2010/08/03(火) 14:04:05 ID:??? (-24,-18,-24)
>>161
どうもです。
いろいろ試してる間にSELECT権限も消しちゃったのか、priv関連は全部Nになってました。
それでも参照も書き込みもできます。
165 : NAME IS - 2010/08/03(火) 23:46:22 ID:??? (+24,+26,-16)
導入しない方が良いと思うな。ありゃ有料サポート必須。
166 : NAME IS - 2010/08/04(水) 02:52:37 ID:urkSox1R (+29,+29,-55)
ありがとうございます。
もし、宜しければ理由をお聞かせ頂けると助かります。

ドキュメント不足で、エラーの解決に時間が掛かる。
構成が複雑で、独学では時間が掛かる。
有償オプションが付かないと実質的に運用に耐えられない。

などですか?
167 : NAME IS - 2010/08/04(水) 16:50:14 ID:??? (+27,+29,-15)
それが調べられれないレベルだからだと思うが。。
168 : NAME IS - 2010/08/06(金) 06:43:05 ID:gPbyC/Ky (+29,+29,-153)
冗長性とパフォーマンスなんて相反するもの。
普通はトレードオフを考えるもんだ、まともなエンジニアなら。

サイトといっても、課金などのミッションクリティカルな運用してるわけではないようだから、
水平分割や垂直分割のキーワードで負荷分散の方法を調べるのが吉。
172 : NAME IS - 2010/08/07(土) 00:53:22 ID:??? (+11,+18,+1)
ありがとうございます。
174 : NAME IS - 2010/08/07(土) 12:45:55 ID:??? (+16,+29,-3)
>>173
ダメの理由は?
176 : NAME IS - 2010/08/07(土) 16:46:20 ID:??? (+27,+29,-57)
MySQLを独学しようと思ってるんだけど、
独学する上で何かいい課題ありませんか?

業務ではなく個人レベルだとどうも土台及び課題が設定しにくくて困ってます。
177 : NAME IS - 2010/08/07(土) 17:13:03 ID:??? (+27,+29,-30)
いまさらMySQLなんてやめとけ。もうMySQLは終わってる
中の連中もOracleに取り入ろうとする連中と反発する連中とで完全に分裂状態
178 : NAME IS - 2010/08/07(土) 17:23:37 ID:??? (+27,+29,-31)
そうなんですか。
就職に有効だと思って始めようと思っていたのですが下火だったとは。
一般的な質問はスレチになるので他に移動します。ありがとうございました。
179 : NAME IS - 2010/08/07(土) 17:25:57 ID:??? (+22,+25,-107)
>>173,174
MySQL信者は前提書かずにいいとこだけ宣伝するからダメ
MySQLは速い!(MyISAMだとね)
MySQLはトランザクション対応 (InnoDBだけどね)
そして「MySQLは速くてトランザクション対応!」ってなプロパガンダをやる奴が多かった。
MySQLのデフォルトはMyISAMだろ、っていうと「デファクトはInnoDB」なんてさらっと書いてごまかす
薄汚い漢もいる。
もう勝負はついたから黙ってOracle無償版使っとけ。
180 : NAME IS - 2010/08/07(土) 17:34:14 ID:??? (+27,+29,-33)
てかSQLなんて対して違いないんだからコードなんてすぐ書き換えられるじゃん

後、そこらへんのWebサーバーにはMySQLしか入ってないんだよね
182 : NAME IS - 2010/08/08(日) 00:33:18 ID:??? (+27,+29,-40)
へえoracle無償版なんてあるんだ
有償版とはだいぶ違うの?
(、、、とぐぐりもせずにしらっと質問)
184 : NAME IS - 2010/08/08(日) 13:58:52 ID:??? (+21,+29,-12)
>>183
gameidとscoreの複合インデックスつくっておけば、
数百万件までは問題ないんじゃない?
どうせ下位のほうは消しちゃえばいいわけだし。
185 : NAME IS - 2010/08/08(日) 15:11:19 ID:??? (+31,+29,-2)
>>184
なるほど、ありがとうございます。
その方法で評価してみます。
187 : NAME IS - 2010/08/09(月) 02:35:59 ID:??? (-24,-29,-200)
>>184,185
検索条件が不等号だからrange検索になってインデックスの効果がでない。ほとんどの場合フルテーブルスキャンになる。
186の指摘通り、集計用のテーブルを別に準備してcount(*)で舐めるテーブルの範囲を極力小さくするように設計しなおしたほうがよい。

ちょっと前までKVSやNoSQLが喧騒されて、key=uid+gameid, value=scoreで分散キャッシュすればスケーラビリティ確保!!RDBは過去の遺物!
みたいな感じだったけど、NoSQLつうかKVSってこういったリアルタイムの集計がまったくダメなんだよな。
188 : NAME IS - 2010/08/09(月) 02:56:18 ID:??? (+32,+29,-109)
修正
>検索条件が不等号だからrange検索になってインデックスの効果がでない。ほとんどの場合フルテーブルスキャンになる。

「ほとんどの場合フルテーブルスキャンになる。」は嘘。
「結果的にテーブルのほとんどをスキャンすることになる」
要するにインデックスで絞りこめないってこと。ランキング1位ならいいけど、下位ほどスキャンするカラムが多くなる。

189 : NAME IS - 2010/08/09(月) 06:56:00 ID:??? (+27,+29,-39)
スコアも含めたインデックス作るって、
もしや誰かが自己記録更新する度に、インデックスの再編成が起きる?
190 : NAME IS - 2010/08/09(月) 08:57:33 ID:??? (+27,+29,-22)
全体の再編成は起きない
断片化とツリーの深さ調整はかなり起きる
191 : NAME IS - 2010/08/09(月) 11:55:37 ID:??? (+21,+29,-40)
>>186
Greeの記事大変参考になりました。
精度を犠牲にして定期的に区切りの順位の得点を集計したりと考えてみましたが
もう少し色々考えられそうですね。
192 : NAME IS - 2010/08/09(月) 12:08:40 ID:??? (+0,+0,-21)
ニコニコ動画の毎時集計
ブラウザ三国志の1日2回集計
ぐらいでもいいんじゃないかとは思うけどね
193 : NAME IS - 2010/08/09(月) 12:27:36 ID:??? (+9,+11,-24)
>>192
単純なランキング閲覧ならそれでokですが
ゲーム終了後にスコアに対して今のオンライン
ランキングを提示したいので...
194 : NAME IS - 2010/08/10(火) 15:51:07 ID:??? (-27,-30,-208)
別PC(Windows)上のMySQLに、ODBC接続しようとしていますが、接続できません。

Serve:MySQLが動作しているPC名 OR IPアドレス(どちらもNG)  Prot:3306(デフォルト)
User:root
Password:rootのパスワード
を指定して「Test」ボタンをクリック

Connection Failed:[HY000][MySQL][ODBC 5.1 Driver] Access denied for user 'root'@'MYPCNAME' (using password: YES)


というエラーになります。ユーザー名:rootでパスワードも正しいものを設定しているのですが、
'root'@'MYPCNAME' この部分が気になります。 'root'のみで接続してほしいのですが。

ちなみにODBC Driverは3.51を使っても同様です。
MySQLが動いているPC上で、Server:localhost 他上記と同じに対してはODBC接続できます。
196 : NAME IS - 2010/08/10(火) 17:34:14 ID:??? (-29,-27,+0)
ちゃんとgrantせんと
197 : NAME IS - 2010/08/10(火) 18:03:32 ID:??? (+20,+26,-19)
>>196

リモート接続の許可はしてますが、他にも何か必要でしょうか。
198 : NAME IS - 2010/08/10(火) 18:33:23 ID:??? (+20,+29,-1)
まぁ落ち着いてここを見るんだ
http://dev.mysql.com/doc/refman/4.1/ja/grant.html
199 : NAME IS - 2010/08/10(火) 21:18:22 ID:??? (-26,-29,-216)
非常に初歩的なミスについてなのですが、ご存知の方がいれば教えていただけませんか?

Windows版 Xampp1.7.3をインストールしたのですが、
ブラウザーからphpmyadminの画面に移りMySqlのrootのパスワードを設定しようとして
誤ってrootそのものを削除してしまいました。

復旧の仕方が良く分からないので、Xampp自体再インストールしてしまおうと
アンインストール > 再インストールを行ったのですが、
rootを削除してしまった状態から元に戻すことが出来ません。

Xampp自体のフォルダーがなくなっている事、念のためリジストリ上のXamppに該当する
記述も全て削除したのですが、やはり同じです。
他に何か関連ファイルが残っているからだとは思うのですが、それを見つけることが出来ません。

Xamppを完全に新規インストールするためにはどうすればいいのでしょうか?


200 : NAME IS - 2010/08/10(火) 22:03:29 ID:??? (+27,+29,-10)
すみません、自己解決しました。
原因は分かりませんが、何度か繰り返しているうちに上手くいきました…。
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / mysql スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : - megab + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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