私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレMySQL 総合 Part24
mysql スレッド一覧へ / mysql とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
それがなさそうなんだよねえ…。コード中1個所しかないし。
引き続き調べ中ですが、再現が難しい感じです。
引き続き調べ中ですが、再現が難しい感じです。
実はInnoDBじゃない
分離モードがREAD UNCOMITTED
FOR UPDATEついてないSQLで取得したデータ見てる
分離モードがREAD UNCOMITTED
FOR UPDATEついてないSQLで取得したデータ見てる
横やり失礼。
先発のトランザクションが SELECT ~ FOR UPDATE している間、
後発のトランザクションの読み込みを待たせたい場合は、
後発のクエリに「LOCK IN SHARE MODE」をつければOKって認識であってますか?
先発のトランザクションが SELECT ~ FOR UPDATE している間、
後発のトランザクションの読み込みを待たせたい場合は、
後発のクエリに「LOCK IN SHARE MODE」をつければOKって認識であってますか?
MySQLユーザ会 MariaDB分科会だってさ
http://www.mysql.gr.jp/mysqlml/mysql/msg/16045
MySQLユーザ会って何もしない利権狙いの親父集団だろ
MariaDBの利権にも唾つけようと必死だな
tutuiって2009年にも利権確保に動いて止めたけど
http://tutui.net/
また盛り上がってきたら動くようだ
http://www.mysql.gr.jp/mysqlml/mysql/msg/16045
MySQLユーザ会って何もしない利権狙いの親父集団だろ
MariaDBの利権にも唾つけようと必死だな
tutuiって2009年にも利権確保に動いて止めたけど
http://tutui.net/
また盛り上がってきたら動くようだ
>>359
お、まさにそれをやりたいと思ってた。
できないんでしょうか。
http://dev.mysql.com/doc/refman/5.1/ja/innodb-parameters.html#optvar_innodb_lock_wait_timeout
http://blog.kimuradb.com/?eid=877250
> これまではグローバルで全体の指定を変えなければならなかった処理がセッションで、その接続だけ変更できるようになり、かなり敷居が下がりしました。
お、まさにそれをやりたいと思ってた。
できないんでしょうか。
http://dev.mysql.com/doc/refman/5.1/ja/innodb-parameters.html#optvar_innodb_lock_wait_timeout
http://blog.kimuradb.com/?eid=877250
> これまではグローバルで全体の指定を変えなければならなかった処理がセッションで、その接続だけ変更できるようになり、かなり敷居が下がりしました。
http://dev.mysql.com/doc/refman/5.1/en/innodb-parameters.html#sysvar_innodb_lock_wait_timeout
> innodb_lock_wait_timeout applies to InnoDB row locks only. A MySQL table lock does not happen inside InnoDB and this timeout does not apply to waits for table locks.
テーブルロックだと、この機能効かないってよ
> innodb_lock_wait_timeout applies to InnoDB row locks only. A MySQL table lock does not happen inside InnoDB and this timeout does not apply to waits for table locks.
テーブルロックだと、この機能効かないってよ
>>364
そのLinuxのプログラムでデータを取り扱うのならlocalhostでいいんじゃね。
そのLinuxのプログラムでデータを取り扱うのならlocalhostでいいんじゃね。
>>364
それMySQLの話ちゃうやろと思いつつ、 hostsとかその手のファイル、DNS次第。
それMySQLの話ちゃうやろと思いつつ、 hostsとかその手のファイル、DNS次第。
MySQLチームで募集中のプリセールスエンジニアは技術が重視されるので営業関連の経験は無くてもかまいません。ご興味のある方はDM下さい。 #mysql_jp
We Are Hiring!! 業務急拡大中につきMySQLチームでは日本でプリセールスエンジニアを募集しています。
ttps
t.co / xUXSf2pO3C
お前らの出番だぞw
We Are Hiring!! 業務急拡大中につきMySQLチームでは日本でプリセールスエンジニアを募集しています。
ttps
t.co / xUXSf2pO3C
お前らの出番だぞw
あるテーブルの主キーになってるserial型columnを他のテーブルで外部キーに指定しようとしてもできません。助けてください。
5.6で高スペックサーバでの性能が飛躍的に向上したな
PostgreSQL抜き返したかな?
PostgreSQL抜き返したかな?
innodbにphpmyadminで33000件のデータをインポートしたのですが、なせか表示は31000件です。移動ボタンで最後のページまで飛ぶと33000件目を含むデータが表示されます。これは仕様なのでしょうか?それともどこかを修正すれば表示を改善出来ますか?
>>378
今DBに登録されてるデータをinto outfile してインポートしたデータと比べてみてはどうでしょう。
今DBに登録されてるデータをinto outfile してインポートしたデータと比べてみてはどうでしょう。
dbに 「33000件のデータをインポートし」てselect count(*)で33000件って出たらmysql側には問題なし
php側の方がおかしいんでしょ
php側の方がおかしいんでしょ
>>378
phpMyAdmin で表示されるレコード数は、INFORMATION_SCHEMA というメタデータから引っ張ってきてるのですが、
InnoDB では概算値となるため、実際のレコード数と phpMyAdmin 上で表示させる値に誤差が生じます。
正確なレコード数を取得するには SELECT COUNT(1) FROM **** クエリを発行してください。
phpMyAdmin で表示されるレコード数は、INFORMATION_SCHEMA というメタデータから引っ張ってきてるのですが、
InnoDB では概算値となるため、実際のレコード数と phpMyAdmin 上で表示させる値に誤差が生じます。
正確なレコード数を取得するには SELECT COUNT(1) FROM **** クエリを発行してください。
はじめまして、相談です。
現在140万行あるテーブルに対して、以下のようなSQLを発行しています。
SELECT word , x,y, last FROM table_test where first != 1 and prev1 = '予測' and prev2 = 'は' and prev3 = 'に' ORDER BY RAND() LIMIT 1
こちらがテーブルです。
(現時点で厳しい物があるため、わざと使用していないカラムがいくつかあります)
SQL一回の結果が返ってくるまでに1.8秒ほど、大体10~20処理するので、1分前後かかっています。またこの先テーブルはますます大きくなります。
インデックスを貼って見ましたが、あまり早くなりません。これぐらいが普通なのでしょうか。
また、他に少しでも早くする方法はありますか?
このテーブルの用途は、趣味で作っている人工無能です。
現在140万行あるテーブルに対して、以下のようなSQLを発行しています。
SELECT word , x,y, last FROM table_test where first != 1 and prev1 = '予測' and prev2 = 'は' and prev3 = 'に' ORDER BY RAND() LIMIT 1
こちらがテーブルです。
(現時点で厳しい物があるため、わざと使用していないカラムがいくつかあります)
SQL一回の結果が返ってくるまでに1.8秒ほど、大体10~20処理するので、1分前後かかっています。またこの先テーブルはますます大きくなります。
インデックスを貼って見ましたが、あまり早くなりません。これぐらいが普通なのでしょうか。
また、他に少しでも早くする方法はありますか?
このテーブルの用途は、趣味で作っている人工無能です。
>>384
インデックスは、first, prev1, prev2, prev3 の複合インデックス張ってる?
いまの主キー、インデックスも教えてくれないとわからん。
あと1万行くらいのダンプデータがあると検証ができてなおよし。
インデックスは、first, prev1, prev2, prev3 の複合インデックス張ってる?
いまの主キー、インデックスも教えてくれないとわからん。
あと1万行くらいのダンプデータがあると検証ができてなおよし。
>>384です。環境を忘れていました。
xamppです。
Apache/2.4.3 (Win32) OpenSSL/1.0.1c PHP/5.4.7
Client API version mysqlnd 5.0.10 - 20111026
です。
>>385
ありがとうございます。
1万行のダンプデータというのはこれでいいでしょうか
http://www.dotup.org/uploda/www.dotup.org4869465.sql
複合INDEXを初めて聞いたので検索、実行してみました
恐らくindex自体は作成されていると思うのですが、うまく使えない状態です
xamppです。
Apache/2.4.3 (Win32) OpenSSL/1.0.1c PHP/5.4.7
Client API version mysqlnd 5.0.10 - 20111026
です。
>>385
ありがとうございます。
1万行のダンプデータというのはこれでいいでしょうか
http://www.dotup.org/uploda/www.dotup.org4869465.sql
複合INDEXを初めて聞いたので検索、実行してみました
恐らくindex自体は作成されていると思うのですが、うまく使えない状態です
WHERE条件で大量のデータが返るのならORDER BY RAND()ではなく
対象件数を取得、その範囲の乱数を生成、LIMIT <乱数値>, 1とした方が早いかも。
EXPLAINでインデックスが使用されているか調べることが先だけど。
対象件数を取得、その範囲の乱数を生成、LIMIT <乱数値>, 1とした方が早いかも。
EXPLAINでインデックスが使用されているか調べることが先だけど。
>>384
可能であればdescの結果か、show create table の結果を貼ってください。
可能であればdescの結果か、show create table の結果を貼ってください。
mysql> desc cc_ai_c;
+-----------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+-------------+------+-----+---------+-------+
| id | int(11) | NO | | 0 | |
| word | varchar(10) | NO | | NULL | |
| hinsi | varchar(10) | NO | | NULL | |
| first | int(11) | NO | | NULL | |
| last | int(11) | NO | | NULL | |
| noudo | double | NO | | NULL | |
| x | int(11) | NO | | NULL | |
| y | int(11) | NO | | NULL | |
| z | int(11) | NO | | NULL | |
| next | varchar(10) | NO | | NULL | |
| prev1 | varchar(10) | NO | | NULL | |
| prev2 | varchar(10) | NO | | NULL | |
| prev3 | varchar(10) | NO | | NULL | |
| hinsisaibunrui1 | varchar(10) | NO | | NULL | |
| hinsisaibunrui2 | varchar(10) | NO | | NULL | |
| hinsisaibunrui3 | varchar(10) | NO | | NULL | |
| katuyoukei | varchar(10) | NO | | NULL | |
| katuyougata | varchar(10) | NO | | NULL | |
| genkei | varchar(10) | NO | | NULL | |
| yomi | varchar(10) | NO | | NULL | |
| hatuon | varchar(10) | NO | | NULL | |
+-----------------+-------------+------+-----+---------+-------+
21 rows in set (0.01 sec)
どう見てもインデックスがないんですが。
+-----------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+-------------+------+-----+---------+-------+
| id | int(11) | NO | | 0 | |
| word | varchar(10) | NO | | NULL | |
| hinsi | varchar(10) | NO | | NULL | |
| first | int(11) | NO | | NULL | |
| last | int(11) | NO | | NULL | |
| noudo | double | NO | | NULL | |
| x | int(11) | NO | | NULL | |
| y | int(11) | NO | | NULL | |
| z | int(11) | NO | | NULL | |
| next | varchar(10) | NO | | NULL | |
| prev1 | varchar(10) | NO | | NULL | |
| prev2 | varchar(10) | NO | | NULL | |
| prev3 | varchar(10) | NO | | NULL | |
| hinsisaibunrui1 | varchar(10) | NO | | NULL | |
| hinsisaibunrui2 | varchar(10) | NO | | NULL | |
| hinsisaibunrui3 | varchar(10) | NO | | NULL | |
| katuyoukei | varchar(10) | NO | | NULL | |
| katuyougata | varchar(10) | NO | | NULL | |
| genkei | varchar(10) | NO | | NULL | |
| yomi | varchar(10) | NO | | NULL | |
| hatuon | varchar(10) | NO | | NULL | |
+-----------------+-------------+------+-----+---------+-------+
21 rows in set (0.01 sec)
どう見てもインデックスがないんですが。
>>390
すいません、すいません…
indexってmysqlで「構造」のカラムにチェックして、インデックスをクリックすれば作れると思っていました
そしてもうデータベースにもアクセスできずにどうしていいかわからないです…orz
Fatal error: Maximum execution time of 30 seconds exceeded in C:\xampp\phpMyAdmin\libraries\session.inc.php on line 96
ちょっと勉強してきます。。。
すいません、すいません…
indexってmysqlで「構造」のカラムにチェックして、インデックスをクリックすれば作れると思っていました
そしてもうデータベースにもアクセスできずにどうしていいかわからないです…orz
Fatal error: Maximum execution time of 30 seconds exceeded in C:\xampp\phpMyAdmin\libraries\session.inc.php on line 96
ちょっと勉強してきます。。。
>>391
388です。
1万件のデータで例にあったselectしてみたけど、0.07秒(初回)でした。
CPUはAMDのE450というatom以下のCPUです。
で、keyがよくわかんないから
alter table cc_ai_c add key (first);
alter table cc_ai_c add key (prev1);
alter table cc_ai_c add key (prev2);
alter table cc_ai_c add key (prev3);
して同じselectしたら0.00秒でした。
ちなみにクエリキャッシュは使ってないので、keyを設定するだけでも改善すると思います。
388です。
1万件のデータで例にあったselectしてみたけど、0.07秒(初回)でした。
CPUはAMDのE450というatom以下のCPUです。
で、keyがよくわかんないから
alter table cc_ai_c add key (first);
alter table cc_ai_c add key (prev1);
alter table cc_ai_c add key (prev2);
alter table cc_ai_c add key (prev3);
して同じselectしたら0.00秒でした。
ちなみにクエリキャッシュは使ってないので、keyを設定するだけでも改善すると思います。
「同時に1つのインデックスしか使えない」って仕様に引っかかりやすいよね。
複合インデックスは頭からしか使えないからカラムの順序に注意。
あとインデックスには指定したカラムに加え、主キーが入るってことも知っておくと役立つ。
複合インデックスは頭からしか使えないからカラムの順序に注意。
あとインデックスには指定したカラムに加え、主キーが入るってことも知っておくと役立つ。
64bit版のRHEL6.4にバンドルされてる5.1.66で
got signal 11
のエラーがでてmysqlが再起動します。
mysqlのバグで5.1.59以降では治ってるって書いてある
サイトがあったんだけど、再発したんでしょうか?
回避する方法ってなんかあります?
got signal 11
のエラーがでてmysqlが再起動します。
mysqlのバグで5.1.59以降では治ってるって書いてある
サイトがあったんだけど、再発したんでしょうか?
回避する方法ってなんかあります?
ちょっとヒントがほしいです
Using Index が表示されるのに、 Using temporary; Using filesort が出てしまうのは、設定ファイルがいけないのだろうか?
EXPLAIN SELECT article_date,count(id)
FROM `log`
WHERE user = 4 and FIND_IN_SET(“aaa”,`category`) and date between ‘2013-01-01’ and ‘2013-12-31’ group by date
複合は(user、category、date)に貼っていて、ちゃんとに使われている。
Using Index が表示されるのに、 Using temporary; Using filesort が出てしまうのは、設定ファイルがいけないのだろうか?
EXPLAIN SELECT article_date,count(id)
FROM `log`
WHERE user = 4 and FIND_IN_SET(“aaa”,`category`) and date between ‘2013-01-01’ and ‘2013-12-31’ group by date
複合は(user、category、date)に貼っていて、ちゃんとに使われている。
>>397
FIND_IN_SETのカラムにインデックスを張っても効率化されないと思う。
関係者にごめんなさいして第一正規化するか、
とりあえず妥協して複合インデックスを(user, date)に張ってみる。
それからSELECT article_dateなのにGROUP BY dateとなっているが、
転記ミスでなければこれはGROUP BYのよくない使い方。
SET sql_mode = ONLY_FULL_GROUP_BY;
で動くSQLに直してからチューニングを考えたほうがよいかも。
FIND_IN_SETのカラムにインデックスを張っても効率化されないと思う。
関係者にごめんなさいして第一正規化するか、
とりあえず妥協して複合インデックスを(user, date)に張ってみる。
それからSELECT article_dateなのにGROUP BY dateとなっているが、
転記ミスでなければこれはGROUP BYのよくない使い方。
SET sql_mode = ONLY_FULL_GROUP_BY;
で動くSQLに直してからチューニングを考えたほうがよいかも。
urlを保存する時って
1つのカラムに「http」削って
://~
って保存するのと、「0=http://、1=https://、2=http://www」とかって定義して2つのカラムに
1(int) 2
0 yahoo.co.jp
って保存するのでは後者の方がいいよね?みんなの保存方法を聞きたいです。
1つのカラムに「http」削って
://~
って保存するのと、「0=http://、1=https://、2=http://www」とかって定義して2つのカラムに
1(int) 2
0 yahoo.co.jp
って保存するのでは後者の方がいいよね?みんなの保存方法を聞きたいです。
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / mysql スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- MySQL 総合 Part25 (947) - [94%] - 2017/6/18 6:30
- MySQL 総合 Part14 (1001) - [94%] - 2008/11/23 10:17 ☆
- MySQL 総合 Part23 (992) - [94%] - 2013/8/11 17:00
- MySQL 総合 Part22 (1001) - [94%] - 2012/7/10 16:45
- MySQL 総合 Part26 (860) - [94%] - 2023/2/2 9:30
- MySQL 総合 Part21 (1001) - [94%] - 2011/12/25 22:16
- MySQL 総合 Part20 (995) - [94%] - 2011/10/17 4:48
- MySQL 総合 Part12 (1001) - [89%] - 2008/1/30 17:34 ○
- MySQL 総合 Part18 (986) - [89%] - 2011/1/17 15:46
- MySQL 総合 Part13 (996) - [89%] - 2008/6/10 21:02 ☆
- MySQL 総合 Part15 (1001) - [89%] - 2009/4/20 12:15 ☆
- MySQL 総合 Part17 (1001) - [89%] - 2010/6/10 20:47 ○
- MySQL 総合 Part19 (982) - [89%] - 2011/6/9 2:33
- MySQL vs PostgreSQL Part2 (941) - [36%] - 2022/5/26 1:30 ○
トップメニューへ / →のくす牧場書庫について