私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレMySQL 総合 Part12
mysql スレッド一覧へ / mysql とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 : ○
レスフィルター : (試験中)
理由が分かりました。結合先のtest_tbのaaa_id中に
重複した値があったのが原因のようです。
今まで勘違いしていたのですが、一意のデータが多いほど
結合時の読み込みも早いんですね。前は逆だと思ってました・・。
重複した値があったのが原因のようです。
今まで勘違いしていたのですが、一意のデータが多いほど
結合時の読み込みも早いんですね。前は逆だと思ってました・・。
>>697-698
ありがとう 試してみます
ありがとう 試してみます
Mysql 5.0.45
alter table hogehoge change ~ でカラムをリネームしようとすると
ERROR 1025 (HY000) Error on rename of '.\detabase\#sql-244_7' to
' .\database\hogehoge' (error: 150)
というエラーメッセージが出るんですけど、ひょっとしてプライマリキーに
なってたり外部制約に使われているカラムって名前の変更が出来ない?
alter table hogehoge change ~ でカラムをリネームしようとすると
ERROR 1025 (HY000) Error on rename of '.\detabase\#sql-244_7' to
' .\database\hogehoge' (error: 150)
というエラーメッセージが出るんですけど、ひょっとしてプライマリキーに
なってたり外部制約に使われているカラムって名前の変更が出来ない?
メールサーバを管理しているのですが、
監視ログにmysqlのエラーで
Too many connections
とメールが来ました。
mysqlが外部から待ちかまえるデーモン数を少し増やして様子をみたいのですが、
どこで調整できるのでしょうか?
監視ログにmysqlのエラーで
Too many connections
とメールが来ました。
mysqlが外部から待ちかまえるデーモン数を少し増やして様子をみたいのですが、
どこで調整できるのでしょうか?
A.2.6. Too many connections エラー
MySQL に接続しようとして Too many connections エラーが発生する場合は、すでに mysqld サーバに接続している max_connections クライアントが存在しています。
デフォルト(100)より多い接続を行う場合は、max_connections 変数の値を 100 より大きくして、mysqld を再起動する必要があります。
実際は、mysqld では(max_connections+1)クライアントの接続が許可されています。最後の接続は、SUPER 特権のあるユーザ用に予約されています。
一般ユーザにこの特権を与えないことによって(一般ユーザにこの特権は必要ありません)、
この特権のある管理者はログインして、SHOW PROCESSLIST を使用して問題を見つけることができます。
See 項4.6.8.6. 「SHOW PROCESSLIST」。
MySQL 接続の最大数は、スレッドライブラリが特定のプラットフォームでどの程度まで有用であるかに依存します。
Linux または Solaris では、使用している RAM のサイズと、クライアントが何を実行しているかによって、500 ? 1000 の同時接続をサポートできます。
MySQL に接続しようとして Too many connections エラーが発生する場合は、すでに mysqld サーバに接続している max_connections クライアントが存在しています。
デフォルト(100)より多い接続を行う場合は、max_connections 変数の値を 100 より大きくして、mysqld を再起動する必要があります。
実際は、mysqld では(max_connections+1)クライアントの接続が許可されています。最後の接続は、SUPER 特権のあるユーザ用に予約されています。
一般ユーザにこの特権を与えないことによって(一般ユーザにこの特権は必要ありません)、
この特権のある管理者はログインして、SHOW PROCESSLIST を使用して問題を見つけることができます。
See 項4.6.8.6. 「SHOW PROCESSLIST」。
MySQL 接続の最大数は、スレッドライブラリが特定のプラットフォームでどの程度まで有用であるかに依存します。
Linux または Solaris では、使用している RAM のサイズと、クライアントが何を実行しているかによって、500 ? 1000 の同時接続をサポートできます。
ありがとうございます。
早速変更して様子をみたいと思います。
思ったより、スパムの接続数が多いみたいです。
早速変更して様子をみたいと思います。
思ったより、スパムの接続数が多いみたいです。
すいません。バカな漏れをすくってください。
以前、MySQLをインストールして、失敗し、やむなく消去して。
XAMPPをいれたんですけど。
MySQLにつなぐと。
access violation なんちゃら~libmysql.dll~なんちゃら
と、何回もエラーがでて、そのうち操作不能になります。
コマンドでsc delete MySQLとかやってみたり、
管理ツールとかもしてみたんですが、
なおりません。
ともだちに聞いたら、クリーンインストールしかないんじゃない
とのことなんですが。
ちょっと消しちゃまずいものもあったりするんで。
バックアップに不安感もあって、ふみきれません。
どうか、たすけてください。
あと、5日前くらいからはじめたばかりなので。
初心者すぎて、書いてることも、自分でもよくわかりきってないんで。
そのへん、ほんとうに、すみません。
以前、MySQLをインストールして、失敗し、やむなく消去して。
XAMPPをいれたんですけど。
MySQLにつなぐと。
access violation なんちゃら~libmysql.dll~なんちゃら
と、何回もエラーがでて、そのうち操作不能になります。
コマンドでsc delete MySQLとかやってみたり、
管理ツールとかもしてみたんですが、
なおりません。
ともだちに聞いたら、クリーンインストールしかないんじゃない
とのことなんですが。
ちょっと消しちゃまずいものもあったりするんで。
バックアップに不安感もあって、ふみきれません。
どうか、たすけてください。
あと、5日前くらいからはじめたばかりなので。
初心者すぎて、書いてることも、自分でもよくわかりきってないんで。
そのへん、ほんとうに、すみません。
>>712
XAMPPをまずアンインストールする
次に、スタートメニューから検索を選んで
ファイルとフォルダすべて を選び、libmysql.dllを探す
見つかったlibmysql.dllは全て不要なので 全部ごみ箱に入れる
そのあと、XAMPPをもう一度インストールする
これで多分直るので、ちゃんと動いたのを確認したら
Cドライブをフォーマットして窓からPCを投げ捨てろ
XAMPPをまずアンインストールする
次に、スタートメニューから検索を選んで
ファイルとフォルダすべて を選び、libmysql.dllを探す
見つかったlibmysql.dllは全て不要なので 全部ごみ箱に入れる
そのあと、XAMPPをもう一度インストールする
これで多分直るので、ちゃんと動いたのを確認したら
Cドライブをフォーマットして窓からPCを投げ捨てろ
mysqlでPostgreSQLの
Explain analyzeと同じような結果を得ることはできないでしょうか?
phpでSelect文の実行速度をmysqlから得たいのですが、
その方法がわかりません。
Explain analyzeと同じような結果を得ることはできないでしょうか?
phpでSelect文の実行速度をmysqlから得たいのですが、
その方法がわかりません。
そもそもの設計が間違ってるんじゃね? としかいいようがない。
EXPLAINしてみた?
ちなみにインデックス張ってると更新は重くなるよ。
EXPLAINしてみた?
ちなみにインデックス張ってると更新は重くなるよ。
複数のカラムでOrder Byするとインデックスが無視されてしまいますが
どうやったって複数の項目でソートせざるを得ないときはどうしますか?
単純な数値のキー二つなら足したりかけたりして一つのカラムに
まとめたりすることも出来ますが、日時と数字だったりすると
相当面倒くさいです。ソートだけに。
どうやったって複数の項目でソートせざるを得ないときはどうしますか?
単純な数値のキー二つなら足したりかけたりして一つのカラムに
まとめたりすることも出来ますが、日時と数字だったりすると
相当面倒くさいです。ソートだけに。
>>721
百万件以上、数百万件くらいになると、どう正規化しても遅くなる。
あとメンテナンス性も落ちる。
後半に書いているように、データの水平パーティショニングが必要。
大規模なMySQL運用してるところならどこでもやってる。
(例: mixi、Yahoo! J、livedoor、live Journal)
百万件以上、数百万件くらいになると、どう正規化しても遅くなる。
あとメンテナンス性も落ちる。
後半に書いているように、データの水平パーティショニングが必要。
大規模なMySQL運用してるところならどこでもやってる。
(例: mixi、Yahoo! J、livedoor、live Journal)
>>722>>723 >>729>>730
アドバイスどうもありがとうございました。
EXPLAINで最適化をしたのですが、どうしてもスピードが劣化してしまします。
このペースで1000万件良くと大変なことになりそうなので、策を考えていました。
>>729さんに教えて頂いたパーティション初耳だったのですが、マニュアルを見たらすごく便利ですね。
私は同じテーブルを複製してPGで参照テーブルを決定することを考えていたのですが、
DB側で透過的に負荷分散してくれるこのやり方は最高です。
いま問題になっているのは、会員の購入履歴みたいなもので、会員IDと購入品目などが並んでいます。
会員IDにINDEXを指定していて、会員IDをキーに購入履歴を参照しています。(実際には条件がもう少し複雑です)
このような用途で、会員別にパーティションにしたいのですが、
その場合は、「15.2.3. HASH 分割」がベストということで宜しいでしょうか?
http://dev.mysql.com/doc/refman/5.1/ja/partitioning-hash.html
アドバイスどうもありがとうございました。
EXPLAINで最適化をしたのですが、どうしてもスピードが劣化してしまします。
このペースで1000万件良くと大変なことになりそうなので、策を考えていました。
>>729さんに教えて頂いたパーティション初耳だったのですが、マニュアルを見たらすごく便利ですね。
私は同じテーブルを複製してPGで参照テーブルを決定することを考えていたのですが、
DB側で透過的に負荷分散してくれるこのやり方は最高です。
いま問題になっているのは、会員の購入履歴みたいなもので、会員IDと購入品目などが並んでいます。
会員IDにINDEXを指定していて、会員IDをキーに購入履歴を参照しています。(実際には条件がもう少し複雑です)
このような用途で、会員別にパーティションにしたいのですが、
その場合は、「15.2.3. HASH 分割」がベストということで宜しいでしょうか?
http://dev.mysql.com/doc/refman/5.1/ja/partitioning-hash.html
>>730
アドバイスありがとうございました。
>参照主体ならレプリケーションでも十分対応できるんじゃね?
残念ながら両方なんです。
参照もしながら更新もするテーブルでして、参照も更新も半々で、
それでいてデータ数も2年後には1000万件いく勢いなので・・・
アドバイスありがとうございました。
>参照主体ならレプリケーションでも十分対応できるんじゃね?
残念ながら両方なんです。
参照もしながら更新もするテーブルでして、参照も更新も半々で、
それでいてデータ数も2年後には1000万件いく勢いなので・・・
>>731
思うんだけど、購入履歴は「過去○件まで」として
それ以上は削除したら良いんじゃないか?
で、購入履歴からこれまでの注文金額を割り出しているのなら
それを止めて、購入合計金額テーブル+購入履歴にするとか。
俺はそうしてるよ。じゃないと、履歴のログがたまりすぎる。
思うんだけど、購入履歴は「過去○件まで」として
それ以上は削除したら良いんじゃないか?
で、購入履歴からこれまでの注文金額を割り出しているのなら
それを止めて、購入合計金額テーブル+購入履歴にするとか。
俺はそうしてるよ。じゃないと、履歴のログがたまりすぎる。
>>733
返事ありがとうございます。
そうですね、確かにそうしたいのですが、そのテーブルが過去の取引記録を修正する必要がある特殊なもので、
更にその取引履歴がないと他の処理の際に非常に困るケースがありまして、
そのテーブルを今の形以上に最適化?するのが難しいんです。
なので、将来的にそれが1億件とか溜まったらどうするの?って問題もあるのですが、
それに対応するのは、同じ構造のテーブルを複製して負荷分散するしかないのかなぁ、と思ったのが最初の考えだったんです。
返事ありがとうございます。
そうですね、確かにそうしたいのですが、そのテーブルが過去の取引記録を修正する必要がある特殊なもので、
更にその取引履歴がないと他の処理の際に非常に困るケースがありまして、
そのテーブルを今の形以上に最適化?するのが難しいんです。
なので、将来的にそれが1億件とか溜まったらどうするの?って問題もあるのですが、
それに対応するのは、同じ構造のテーブルを複製して負荷分散するしかないのかなぁ、と思ったのが最初の考えだったんです。
パーティションは5.1新機能で、5.1はまだβなので
使うなら人柱の覚悟が必要。
mixiとかは自前でパーティション相当の機能を実装してる。
使うなら人柱の覚悟が必要。
mixiとかは自前でパーティション相当の機能を実装してる。
最適化云々の前に、どう考えても設計にミスがあると思うんだが・・。
mixiほどの会員数でもないだろうし。せいぜい1万人前後だろ。
mixiほどの会員数でもないだろうし。せいぜい1万人前後だろ。
mysqlを3.23→4.1.x→5.045にアップデートしたのですが
--skip-grant-tablesをオプションをつけないと
起動しても今までのがうまく動きません
多分ユーザーパスワード関連の問題だとは思うのですが・・・
ユーザーテーブルの拡張は4.1系にアップデートした時に変換しました
--skip-grant-tablesを付けずに起動させて
ちゃんと動くようにするにはどうすればいいのでしょう?
因みに1ユーザーだけパスの変更ができないのがあります
あと、[mysqld]にold-password=1を指定してみてもだめでした
--skip-grant-tablesをオプションをつけないと
起動しても今までのがうまく動きません
多分ユーザーパスワード関連の問題だとは思うのですが・・・
ユーザーテーブルの拡張は4.1系にアップデートした時に変換しました
--skip-grant-tablesを付けずに起動させて
ちゃんと動くようにするにはどうすればいいのでしょう?
因みに1ユーザーだけパスの変更ができないのがあります
あと、[mysqld]にold-password=1を指定してみてもだめでした
>>748
「うまく動きません」の内容を詳しく。
「うまく動きません」の内容を詳しく。
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / mysql スレッド一覧へ
みんなの評価 : ○類似してるかもしれないスレッド
- MySQL 総合 Part13 (996) - [94%] - 2008/6/10 21:02 ☆
- MySQL 総合 Part19 (982) - [94%] - 2011/6/9 2:33
- MySQL 総合 Part14 (1001) - [94%] - 2008/11/23 10:17 ☆
- MySQL 総合 Part15 (1001) - [94%] - 2009/4/20 12:15 ☆
- MySQL 総合 Part17 (1001) - [94%] - 2010/6/10 20:47 ○
- MySQL 総合 Part18 (986) - [94%] - 2011/1/17 15:46
- MySQL 総合 Part22 (1001) - [94%] - 2012/7/10 16:45
- MySQL 総合 Part23 (992) - [89%] - 2013/8/11 17:00
- MySQL 総合 Part26 (860) - [89%] - 2023/2/2 9:30
- MySQL 総合 Part21 (1001) - [89%] - 2011/12/25 22:16
- MySQL 総合 Part20 (995) - [89%] - 2011/10/17 4:48
- MySQL 総合 Part24 (1010) - [89%] - 2015/2/14 4:46
- MySQL 総合 Part25 (947) - [89%] - 2017/6/18 6:30
- MySQL vs PostgreSQL Part2 (941) - [36%] - 2022/5/26 1:30 ○
トップメニューへ / →のくす牧場書庫について