板検索:
MySQL 総合 Part24 (1010)
まとめビュー
1
NAME IS NULL[sage]   投稿日:2013/08/14 00:00:00  ID:???.net(852)
オラクル社によるオープンソースのRDBMS、MySQLの総合スレです。

MySQL 総合 Part23

MySQL Developer Zone http://dev.mysql.com/
MySQL 5.5 マニュアル (E) http://dev.mysql.com/doc/refman/5.5/en/index.html
MySQL 5.1 マニュアル (J) http://dev.mysql.com/doc/refman/5.1/ja/index.html

日本MySQLユーザ会(MyNA) http://www.mysql.gr.jp/
ML過去ログ http://www.mysql.gr.jp/mysqlml/mysql/

ここで質問をする前に、MyNAでのFAQと心得の条を最初に確認しましょう。
http://www.mysql.gr.jp/frame/modules/bwiki/?FAQ
http://www.mysql.gr.jp/frame/modules/bwiki/index.php?%BB%A8%B3%D8%2F...
コメント1件


2
NAME IS NULL[sage]   投稿日:2013/08/19 00:00:00  ID:???.net(852)
('仄')パイパイ

3
NAME IS NULL[sage]   投稿日:2013/08/19 00:00:00  ID:???.net(852)
タオー?

4
NAME IS NULL[sage]   投稿日:2013/08/23 00:00:00  ID:???.net(852)
本家のトップページから辿ってWindowsのMSIインストーラーを
探すと32bit版のMSIインストーラーのみで64bit版が見つからないんだけど
こういうもんですか?

日本語Wikiとかダウンロードページへの直リンで飛べば64bit版のダウンロードページ
いけるから問題ないといえばないんだけど。
コメント1件

5
NAME IS NULL[sage]   投稿日:2013/08/23 00:00:00  ID:???.net(852)
Windowsなんか相手にしてないし

6
NAME IS NULL[]   投稿日:2013/08/23 00:00:00  ID:lUU+g5Pz.net

7
NAME IS NULL[sage]   投稿日:2013/08/24 00:00:00  ID:???.net(852)
ここ廃れてるね

8
NAME IS NULL[sage]   投稿日:2013/08/26 00:00:00  ID:???.net(852)
>4
Note: MySQL Installer is 32 bit, but will install both 32 bit and 64 bit binaries.

http://dev.mysql.com/downloads/windows/installer/

9
NAME IS NULL[sage]   投稿日:2013/08/26 00:00:00  ID:???.net(852)
前にinnodb_purge_threadsの話題がでて
purgeってのはUNDOログのクリアって話だったけど
innodb_purge_batch_sizeの解説みるとREDOログがどうしたこうした書いてある。
http://dev.mysql.com/doc/refman/5.6/en/innodb-parameters.html#sysvar_innodb_purge_batch_size

purgeにREDOログって関係あるの?混乱してきた。
コメント1件

10
NAME IS NULL[sage]   投稿日:2013/08/26 00:00:00  ID:???.net(852)
>9
俺には「REDOログにx回書き込むたびに」と読めた。
コメント1件

11
NAME IS NULL[sage]   投稿日:2013/08/26 00:00:00  ID:???.net(852)
>10

そうそう。
だからなんでUNDOログのpurgeにREDOログが関係あるんだろうって。

UNDOログにx回書き込む度にpurgeするならすっきりするんだけど。
なんでREDOログ?
誰か分かる人居ます?
コメント1件


12
NAME IS NULL[sage]   投稿日:2013/08/27 00:00:00  ID:???.net(852)
コミットされてないと消せないからじゃね。
コメント1件

13
NAME IS NULL[sage]   投稿日:2013/08/27 00:00:00  ID:???.net(852)
>12

そうか、UNDOログにバンバン書き込むだけでCOMMITしなかったら
purgeしようとしても消すデータがないってか

14
NAME IS NULL[sage]   投稿日:2013/08/27 00:00:00  ID:???.net(852)
>11
purge関連の設定は特にUNDOログに特化した設定ではないのに、なぜREDOログが絡むとおかしいと思うの?
purgeする必要があるもの全てが対象でしょう。
コメント1件

15
NAME IS NULL[sage]   投稿日:2013/08/27 00:00:00  ID:???.net(852)

16
NAME IS NULL[sage]   投稿日:2013/08/27 00:00:00  ID:???.net(852)
なんで俺に安価付けるんだか。

17
NAME IS NULL[sage]   投稿日:2013/08/30 00:00:00  ID:???.net(852)
テーブルAのカラム1に入ったデータ全部と、テーブルBのカラム5に入ったデータ全部を
比較して、両方のカラムに同じデータが入ってる奴だけ抽出して表示する方法教えてください。
コメント1件

18
NAME IS NULL[sage]   投稿日:2013/08/30 00:00:00  ID:???.net(852)
>17
INNER JOINでググる。
コメント1件

19
NAME IS NULL[sage]   投稿日:2013/08/30 00:00:00  ID:???.net(852)
>18
出来た!感動、ありがとうございます!

20
NAME IS NULL[sage]   投稿日:2013/08/30 00:00:00  ID:???.net(852)
mysql server が起動しなくなったHDDがあります。
ここから、データを吸い出すにはどうすればいいのですか?

mysqldumpでは、サーバーが動作するのが前提になっているようなので
データの吸出しが出来なくて困っています。

21
NAME IS NULL[sage]   投稿日:2013/08/30 00:00:00  ID:???.net(852)
やってみたこと。

まずは環境紹介から

起動しなくなったマシン
Windows7 32Bit mysql 5.6.10

新しいマシン
Windows8 64Bit mysql 5.6.13

やってみたこと
起動しなくなったマシンの、dataフォルダ以下をUSBメモリーなどにコピーする
新しいマシンに mysql server 5.6.13をインストールし
d:\mysqldata\以下へUSBメモリからコピーする。

my.iniのdata_dir を d:/mysqldata/data と書きかえて上書き保存
Winodwsを再起動
MySQL WorkBenchから、みられるようになっているのか、どうやって
確認すればいいかわからない。

手順が正しかったかもわからない。です。
よろしくお願いします。

22
NAME IS NULL[sage]   投稿日:2013/08/31 00:00:00  ID:???.net(852)
あ、C:\Programdata\以下に保存されいる方が正しいんですね。
こっちに、登録していた、テーブル名のファイルがあり、正しいようです。
間違って、C:\ProgramFilesの方をコピーしてました。
もすこし試してみます。

23
NAME IS NULL[sage]   投稿日:2013/08/31 00:00:00  ID:???.net(852)
自己解決しました。スレ汚してすみませんでした。

24
NAME IS NULL[]   投稿日:2013/09/05 08:02:03  ID:ChEKZAnN.net
MySQLのprepared statementって、「?」しか使用できない?
Oracleみたく「:name」が使いたいんだけど、ドキュメントには「?」しか書かれてない。
パラメータがたくさんあると「?」は不便なので「:name」を使いたいです。
コメント1件

25
NAME IS NULL[sage]   投稿日:2013/09/05 09:04:46  ID:???.net(852)
ドキュメントに書いてないんだから無いだろ。何故聞く?
コメント1件

26
NAME IS NULL[sage]   投稿日:2013/09/05 10:31:23  ID:???.net(852)
Javaから使うと?だけどC#から使うと名前だったりしたから
間に入るライブラリ次第かな?
コメント1件

27
NAME IS NULL[sage]   投稿日:2013/09/07 08:31:13  ID:???.net(852)
>25
え、聞いたらまずいの?
もしかしたらドキュメントの探し方がまずいかもしれないし、
最新バージョンや開発バージョンでは実装されてるかもしれないし、
非標準のライブラリで実現できるかもしれないし、
いろんな可能性があるんだから質問してもいいでしょ。
何か問題があるの?

28
NAME IS NULL[sage]   投稿日:2013/09/07 08:35:00  ID:???.net(852)
あそうか、他のDBにはできてMySQLにはできないことを質問したから、機嫌が悪いのか。
ごめんごめん、そこまでは気が回らなかったよ。いちいちこんなことでイライラしないでね。

>26
そうなんだ。たぶん他のDBと同じ使い方ができるように、C#用のライブラリが独自に実装してるんだろうね。

とりあえず、MySQLの標準ではできないということだね。了解です!
コメント1件

29
NAME IS NULL[sage]   投稿日:2013/09/09 11:57:02  ID:???.net(852)
>28
まぁあんまそういうこと書かないでやって。
PHPスレみたいな荒れ方してもつまらんからさ。

30
NAME IS NULL[sage]   投稿日:2013/09/09 12:57:50  ID:???.net(852)
>24
使えるしドキュメントにもちゃんと書いてあるよ
コメント1件

31
NAME IS NULL[sage]   投稿日:2013/09/09 22:59:12  ID:???.net(852)
>30
http://dev.mysql.com/doc/refman/5.7/en/sql-syntax-prepared-stateme...
から抜粋。
-------------
SQL syntax for prepared statements does not support multi-statements (that is, multiple statements within a single string separated by “;” characters).
-------------
英語はよく分からんがサポートしてないって書いてね?
コメント1件

32
NAME IS NULL[sage]   投稿日:2013/09/10 01:02:32  ID:???.net(852)
>31
これは、;で区切られた複数のsqlはプリペアードステートメントではサポートされません、って書いてるのでちょっと違うのでは。
コメント1件

33
NAME IS NULL[sage]   投稿日:2013/09/10 01:31:44  ID:???.net(852)
>32
しかもよく見たらコロンじゃなくてセミコロンだった。吊ってくる。

34
NAME IS NULL[]   投稿日:2013/09/12 21:56:34  ID:QsWhUfVH.net
運用中のあるログテーブル
150万レコードぐらいあってphpMyAdminで容量見ると300MBぐらい
3カラムぐらいにインデックス張ってあってインデックスが50MBぐらいなんだけど
インデックスが容量食いすぎだろうか?
鯖のメモリーは7.5 GBあるからあまり気にしなくて良いだろうか
コメント1件

35
NAME IS NULL[sage]   投稿日:2013/09/12 22:18:47  ID:???.net(852)
>34
5GBデータ100MBインデックスの履歴系テーブルもあれば、50GBデータ50GBインデックスのテーブルもあって、使い方次第だなぁと思うけど。

個人的には更新主体ならそんなもんじゃ? と思う。

36
NAME IS NULL[]   投稿日:2013/09/15 11:31:06  ID:oLL5r9pK.net
単位がMで済んでるうちは大した話じゃない。
インデックスで50G超えたとかいう話ならいろいろ面倒だが。

37
NAME IS NULL[]   投稿日:2013/09/16 00:00:18  ID:bEbAGFoz.net
mysqlってphpと相性がいいの?
データベースで有料のやつと無料のやつの違いは?
データベースの一番性能がいいのはoracleでしょうか?
データベースってサーバー側におかれていることが多いからどちらかといえば
windowsよりlinuxの上で使われていることがおおいでしょうか?

38
NAME IS NULL[sage]   投稿日:2013/09/16 09:12:35  ID:???.net(852)




39
NAME IS NULL[sage]   投稿日:2013/09/16 10:37:26  ID:???.net(852)
LAMP Linux Appache MySQL PHP
という言葉があるようにそういう組み合わせが多いのではなかろうか?
俺は知らんけどw

40
NAME IS NULL[sage]   投稿日:2013/09/16 10:39:50  ID:???.net(852)
後、有料・無料の違いはサポートの有無、機能の制限など各データベースによって違う。
というか、ぐぐればそういうのはすぐ判るよ

41
NAME IS NULL[sage]   投稿日:2013/09/16 12:59:59  ID:???.net(852)
質問です。
mysql3.23のデータベースをmysql5.169に移します。
移転元のmysqldumpは8.23
移転先のmysqldumpは10.13
移転先にuser DBつくって
mysqldump -a --user=hoge --password --default-character-set=latin1 hogedb > backup_hoge.mysql
でdumpバックアップ
mysql --user=hoge -p hogedb < backup_hoge.mysql
で移転先にいれようとすると
ERROR 1064 (42000) at line 4: You have an error in your SQL syntax;
compatibleオプションが必要そうです。
--compatible=ansi をdump作成時にいれようとしたら、このオプションは8.23には存在しないようです

何か楽な方法ありませんでしょうか。
コメント1件

42
NAME IS NULL[sage]   投稿日:2013/09/16 19:59:41  ID:???.net(852)
>41
SQLの構文エラーが出てるみたいだから、なにが悪いのかを原因特定するのが先。

43
NAME IS NULL[]   投稿日:2013/09/19 17:10:04  ID:09YskEUL.net
insert into tbl (id) values ((select max(id) from tbl))
みたいなことをやりたいんだけど、どうすればいいの
ちなみJK2です☆(ゝω・)vキャピ
コメント1件

44
NAME IS NULL[sage]   投稿日:2013/09/19 20:08:44  ID:???.net(852)
>43
insert into tbl (id) values (select max(id) from tbl)
コメント1件

45
NAME IS NULL[sage]   投稿日:2013/09/19 20:10:04  ID:???.net(852)
うあ、valuesもイラネ

46
NAME IS NULL[sage]   投稿日:2013/09/19 20:11:27  ID:???.net(852)
selectくくってるカッコもいらねぇ。。
吊ってくる。

47
NAME IS NULL[sage]   投稿日:2013/09/19 22:16:30  ID:???.net(852)
>44
同じテーブル名でデータ入れようとするとエラーにならなかったっけ?
select max(id) from tbl tmp
みたいな感じで別名にしないといけなかった気が。

48
NAME IS NULL[sage]   投稿日:2013/09/21 07:22:34  ID:???.net(852)
なかっち 動画
http://www.youtube.com/watch?v=z2qK2lhk9O0s



みんなで選ぶニコ生重大事件 2012
http://vote1.fc2.com/browse/16615334/2/
2012年 ニコ生MVP
http://blog.with2.net/vote/?m=va&;id=103374&bm=
2012年ニコ生事件簿ベスト10
http://niconama.doorblog.jp/archives/21097592.html


生放送の配信者がFME切り忘れプライベートを晒す羽目に 放送後に取った行動とは?
http://getnews.jp/archives/227112
FME切り忘れた生主が放送終了後、驚愕の行動
http://niconama.doorblog.jp/archives/9369466.html
台湾誌
http://www.ettoday.net/news/20120625/64810.htm

49
NAME IS NULL[]   投稿日:2013/09/21 21:24:16  ID:F8J6z22e.net(2)
fooというレコードがあって、foobarという文字列で比較してfooレコードを取り出したいです。
fooでfoobarを検索する場合LIKE前方一致でできますが、foobarでfooを検索する場合どのような方法があるでしょうか。
コメント1件

50
NAME IS NULL[sage]   投稿日:2013/09/21 22:04:01  ID:???.net(852)
>49
foo1 like concat(foo2, '%') or foo2 like concat(foo1, '%')
みたいに逆も比較してみるのは?
コメント1件

51
NAME IS NULL[]   投稿日:2013/09/21 22:33:35  ID:F8J6z22e.net(2)
>50
あー、LIKEってそんな風にも使えるんですね
ありがとうございます

52
NAME IS NULL[]   投稿日:2013/09/22 19:53:03  ID:HJJsliiP.net
データベースってoracleが一番使われている?
なんでこの分野は、oracleが牛耳っているんでしょうか?
ラリーエリクソンってビル・ゲイツなみの有名人か?

53
NAME IS NULL[sage]   投稿日:2013/09/22 21:01:51  ID:???.net(852)
RHEL+Oracle信仰なんて日本企業くらいなもんな気がするけど

54
NAME IS NULL[sage]   投稿日:2013/09/22 21:05:07  ID:???.net(852)
Accessかmysqlでしょ
このスレで聞くことじゃないけど

55
NAME IS NULL[]   投稿日:2013/09/23 04:07:15  ID:q1UsEuFH.net
mysqldump -uroot -p DB名 > /root/Desktop/xxx.sql
でバックアップを取ろうとすると
.sqlファイルではなくVHDLドキュメントになってしまう
これって何が原因?  

56
NAME IS NULL[sage]   投稿日:2013/09/23 11:43:15  ID:???.net(852)
Linux, Apache, MariaDB, Perl

57
NAME IS NULL[sage]   投稿日:2013/09/23 21:23:54  ID:???.net(852)
ヒントください。
いまさらの環境ですが、MYSQLの4.0LINUXでMYISAMテーブルのデータベースをWINのサーバ(同ver)
移動したのですが、その結果ODBCを介しVBでtransactionを使用している部分で
[transactions are not enabled]のエラーが出るようになりました。autocommitとして動作して
ほしいのですが…。
よろしくお願い致します。

58
NAME IS NULL[sage]   投稿日:2013/09/23 21:42:16  ID:???.net(852)
エスパー3級、お呼びだ

59
NAME IS NULL[sage]   投稿日:2013/09/23 22:33:40  ID:???.net(852)
そもそもMyISAMはトランザクションをサポートしてませんが
コメント1件

60
NAME IS NULL[sage]   投稿日:2013/09/24 03:42:42  ID:???.net(852)
>59
それは承知の上で暗黙に即時COMMITして欲しいのです。
というかlinuxはそう動いてるので。dbそのままコピーして、cl側変更ないのにそう動いてくれない。

61
57[sage]   投稿日:2013/09/24 07:39:32  ID:???.net(852)
自己解決しました。
結論をいうとmy.cnfのskip innodbがコメントアウトされていませんでした。
innodbへの変換やinnnodbのテーブル作成もできなくなっていたので気づきました。
innodb自体が有効になっていないと、transaction使用時暗黙のcommitではなく
transactions are not enabled エラーが出て更新できないのですね。

62
NAME IS NULL[sage]   投稿日:2013/09/24 08:02:37  ID:???.net(852)
エスパーでも無理

63
NAME IS NULL[sage]   投稿日:2013/09/29 03:23:57  ID:???.net(852)
トランザクションの分離レベルがREPEATABLE READの場合、バージョン番号を使用した楽観的ロックって機能するのでしょうか。

トランザクションが終了するまで常に同じが値が見えるため、別のトランザクションがコミットされていても変更は感知出来ないのですよね?
コメント1件

64
NAME IS NULL[sage]   投稿日:2013/09/29 07:40:33  ID:???.net(852)
>63
動作環境内緒にしておきたいんだったら自分で実験しろ

65
NAME IS NULL[sage]   投稿日:2013/09/29 17:47:58  ID:???.net(852)
質問は取り下げるわ。まじ怖い奴いるね。
コメント1件

66
NAME IS NULL[sage]   投稿日:2013/09/29 20:36:21  ID:???.net(852)
次の方、どうぞ〜

67
NAME IS NULL[sage]   投稿日:2013/09/29 22:00:13  ID:???.net(852)
楽観的ロックって更新時にもバージョン番号つけるんでないの?

68
NAME IS NULL[sage]   投稿日:2013/09/29 22:03:23  ID:???.net(852)
これはどうやるんですか? なら分かるけど、
これはどうなるんですか? って「どうなるかやってみる」という発想がなんででてこないんだろう?

69
NAME IS NULL[sage]   投稿日:2013/09/29 23:06:41  ID:???.net(852)
>65
two chは怖いところ

70
NAME IS NULL[sage]   投稿日:2013/09/30 09:21:45  ID:???.net(852)
freebsd,nginx,mariadb,python
fnmp

71
NAME IS NULL[sage]   投稿日:2013/09/30 22:20:35  ID:???.net(852)
試せばわかる、と思ってる人もヤバイと思うぞ。

72
NAME IS NULL[sage]   投稿日:2013/10/01 00:01:45  ID:???.net(852)
ちょろっと検証コード書けば分かることを試さない人が一番ヤバイ。

つかこんなところで聞いて回答貰ったとしても、それが正しいのかどうかって結局試さないと分からないだろ。
だったら聞くだけ時間のムダ。

73
NAME IS NULL[sage]   投稿日:2013/10/02 17:04:33  ID:???.net(852)
久々MySQL触ろうと思ってるんだけど、最近どう?
まだOracleのばかのせいでアップデートが遅れてるとか、新バージョン封印とかされてるの?
ここ2年くらいで何か大きな動きあった?
コメント1件

74
NAME IS NULL[sage]   投稿日:2013/10/02 17:24:44  ID:???.net(852)
5.6は十分大きな動きだと思うけど

75
NAME IS NULL[sage]   投稿日:2013/10/02 17:24:50  ID:???.net(852)
>73
なんで検索しないの?

76
NAME IS NULL[sage]   投稿日:2013/10/02 17:41:15  ID:???.net(852)
検索しても昔の情報とか出てくるからさ
5からだいぶ経ってるけど未だに新バージョンはやっぱ期待が出来ないのかなとかは分かるくらい
コメント1件

77
NAME IS NULL[sage]   投稿日:2013/10/02 17:42:12  ID:???.net(852)
現場の声が一番だと思うんで
コメント1件

78
NAME IS NULL[sage]   投稿日:2013/10/02 17:47:36  ID:???.net(852)
>76
アホなの?
ここ二年ぐらいの大きなバージョンアップは5,6だけだというのはすぐにわかるし、
"mysql 5.6"でググれば昔の情報は出てこないだろ。

で、Oracle関連は"mysql oracle"とかで期間を最近1年でググったり、アップデートの動向は
"mysql 5.7"でググったりすればいいだろ。

>77
2chのこの過疎スレの声より、もっとパワーユーザな有用な情報がすぐ手に入るのに、なんでググらないの?

79
NAME IS NULL[sage]   投稿日:2013/10/02 17:50:53  ID:???.net(852)
つか、ここ2年とか言ってるけど、3年弱前にリリースされた5.5の情報もキャッチアップできてないんじゃないの?

80
NAME IS NULL[sage]   投稿日:2013/10/02 17:52:25  ID:???.net(852)
ブログなんかで情報発信してる人達は、現場の人じゃないのか

81
NAME IS NULL[sage]   投稿日:2013/10/02 18:20:55  ID:???.net(852)
ここでmysqlを検索して拾い読みすれば良いよ。

『Publickey』
http://www.publickey1.jp/

『漢のコンピュータ道』
http://nippondanji.blogspot.jp/

82
NAME IS NULL[sage]   投稿日:2013/10/02 18:30:11  ID:???.net(852)
準同期レプリケーションって
同期処理中にマスタがクラッシュしたとき
スレーブだけ更新しちゃう場合ってある?
ACK送った後スレーブは勝手に更新しちゃうんだよね
コメント1件

83
NAME IS NULL[sage]   投稿日:2013/10/02 22:12:07  ID:???.net(852)
>82
スレーブからACK送った後、データ書き込む寸前にクラッシュしたらありえるんじゃね?

84
NAME IS NULL[sage]   投稿日:2013/10/03 00:41:53  ID:???.net(852)
スローログをグラフ化してくれるフリーのソフトってある?
コメント1件

85
NAME IS NULL[sage]   投稿日:2013/10/03 00:56:34  ID:???.net(852)
>84
件数だけでいいならPercona Monitoring Plugins for Cactiで十分。
コメント1件

86
NAME IS NULL[sage]   投稿日:2013/10/03 16:20:01  ID:???.net(852)
>85
ありがとー試してみるー。

87
NAME IS NULL[sage]   投稿日:2013/10/06 02:36:42  ID:???.net(852)
5.6.14ってバグある?
なんかサーバが落ちるんだけど…

88
NAME IS NULL[sage]   投稿日:2013/10/06 07:33:09  ID:???.net(852)
ないとは誰も言えないと思うが、
環境も状況もログも書かずに答えられる
エスパーに期待しているなら待ってれば?

89
NAME IS NULL[]   投稿日:2013/10/06 16:54:08  ID:A2OoqmBB.net(3)
初歩的な質問だけど
DBサーバーのディスク容量が
一杯になったらどうしたらいいの?

90
NAME IS NULL[sage]   投稿日:2013/10/06 17:18:33  ID:???.net(852)
ネットワークから切り離して、あたらしいHDをつなぐ
コメント1件

91
NAME IS NULL[sage]   投稿日:2013/10/06 17:54:46  ID:???.net(852)
ごめん、サーバ落ちてたの
mysql_upgrade -u root -p
したら治ったわw

インストールを解説したページに載ってないし
すっかり忘れてた。

しかしMySQLがダウンするだけじゃなくて、サーバごと逝くこともあるんだね。
VPSの人らには悪いことしたわ

92
NAME IS NULL[]   投稿日:2013/10/06 18:09:19  ID:A2OoqmBB.net(3)
>90
サーバーに繋げる限界までハードディスク積んだあとは
どうしたらいい?
もっと一杯繋げるストレージサーバーみたいなの導入するの?
コメント3件

93
NAME IS NULL[sage]   投稿日:2013/10/06 18:28:13  ID:???.net(852)
>92
サーバーを分散させるとか、Spiderとか使ってデータの分散するんじゃね?
コメント1件

94
NAME IS NULL[sage]   投稿日:2013/10/06 20:10:25  ID:???.net(852)
>92
倍の容量のHDを購入しましょう

95
NAME IS NULL[]   投稿日:2013/10/06 20:31:31  ID:A2OoqmBB.net(3)
>93
スパイダーか!検索したらそれ関連の情報が出てきた。
疑問が解消しました。ありがとう。

96
NAME IS NULL[sage]   投稿日:2013/10/07 15:23:46  ID:???.net(852)
>92
拡張バスも使い切ったん?
それはそれですごいが。

97
NAME IS NULL[]   投稿日:2013/10/07 21:57:45  ID:qe3wFhbq.net
質問です
データが100件以上あるとして101件以降のデータをすべて消すにはどうしたらいいでしょうか
コメント3件

98
NAME IS NULL[sage]   投稿日:2013/10/07 22:30:50  ID:???.net(852)
>97
SQL文を勉強しましょう

99
NAME IS NULL[sage]   投稿日:2013/10/07 22:38:33  ID:???.net(852)

100
NAME IS NULL[sage]   投稿日:2013/10/07 23:19:31  ID:???.net(852)
それはアルファベットのCより先は何ですかって聞いてるようなもんだぞw

101
NAME IS NULL[sage]   投稿日:2013/10/08 10:08:47  ID:???.net(852)
>97
スレチだがヒントとして…

SELECT * FROM tab WHERE col = 'hoge' LIMIT 0 10;
としたとき、 SELECT * を DELETE に置き換えると
SELECTしたときに引けた分が消える。

さぁ、がんばれ。
コメント1件

102
NAME IS NULL[sage]   投稿日:2013/10/08 11:31:41  ID:???.net(852)
>101
ORDER BYしないと非決定性だぞ。

103
NAME IS NULL[sage]   投稿日:2013/10/08 22:42:10  ID:???.net(852)
質問です。
xampp(1.8.2.2)のMysqlのlog_buffer_pool_sizeのメモリの設定を大きくしたいのですが、innodb_log_file_sizeも一緒に大きくするようにとあったので
両方を倍に書き換えた後、立ち上げようとしたらエラーが出て立ち上がりませんでした。ググったらid_logfile0と1を削除とあったのでそうしたのですが立ち上がりません。

これはなにか手順を間違えたのでしょうか?
それかいっそmy.iniメのモリを書き換え以外で大量データを高速に処理できるようになる方法はないでしょうか。教えてください。
コメント2件

104
NAME IS NULL[sage]   投稿日:2013/10/08 23:13:16  ID:???.net(852)
>103
> エラー
エラーログを見る。

> 高速に処理
どんな基準で高速とするの?
あとその質問だとマシンを買い換えろでも良いよね?
とりあえず設定よりまずはSQLを見直すところから始めればいいんじゃないかな。
コメント1件

105
NAME IS NULL[sage]   投稿日:2013/10/09 07:35:46  ID:???.net(852)
いっそってなんだ
Windowsだとサービスで起動しようとするとinnodb のログ作成中にタイムアウトすることがあったはずだが、
環境も何のエラーかも書いてないような質問にはエスパーじゃないと
コメント1件

106
NAME IS NULL[sage]   投稿日:2013/10/09 08:46:01  ID:???.net(852)
>103
5.6未満ではinnodb_log_file_size書き換えるとibdata1とiblogfile*を消して再作成させないとダメ。
つまりデータベース初期化が必要。

消せないなら、innodb_log_files_in_groupを増やす。減らすのは再作成が必要だけど、増やすのは再起動だけでいける。

InnoDBログの性能はinnodb_log_file_size * innodb_log_files_in_groupに大体比例する。
コメント1件

107
NAME IS NULL[]   投稿日:2013/10/09 15:59:02  ID:Y9V+5XoJ.net
mysqldumpでデータベースのバックアップ取ろうとしたんだけど
何回やってもsqlファイルじゃなくVHDLになる
こういう場合どうしたらsqlファイルになる?
コメント1件

108
NAME IS NULL[sage]   投稿日:2013/10/10 03:35:54  ID:???.net(852)
>107

/etc/my.cnf か ~/.my.cnf あたりの mysqldump セクションに xml って入ってるんじゃないかな

あったら、書き換えるか、--no-defaults オプションで頑張るか
なければ、shell の alias あたりを疑うくらいか

109
NAME IS NULL[sage]   投稿日:2013/10/10 13:56:04  ID:???.net(852)
>104>105>106
お返事ありがとうございました。

>5.6未満ではinnodb_log_file_size書き換えるとibdata1とiblogfile*を消して再作成させないとダメ。つまりデータベース初期化が必要。
クリティカルでした!処理も入力系以外は一気に高速化しました。助かりました!

>とりあえず設定よりまずはSQLを見直すところから始めればいいんじゃないかな。
ググったら入力系はボトルネックになりやすいみたいですね。SQL先月からの初心者だったので知りませんでした。
infileやautocommit=0も試してみます。

110
NAME IS NULL[sage]   投稿日:2013/10/14 19:56:19  ID:???.net(852)
ポスグレからの移行で質問です。

大体100万件程度のデータを流してサービスで実行しているsqlでテストしてるのですが、基本的に全てのレスポンスがポスグレより遅いです。
若干遅いのは良いのですが、コネクション数によってパフォーマンスが下がりにくい、もしサーバが耐え切れなくなればレプリケーションしてスレーブサーバを足していけばいいという認識ですが合ってますか?

ちなみに一番遅いクエリで0.7秒なので、許容範囲ではあるのですが・・・。
コメント2件

111
NAME IS NULL[sage]   投稿日:2013/10/14 20:03:27  ID:???.net(852)
>110
まずはクエリとか見直してみれば良いんじゃないかな?
PostgreSQLではそうでもないけど、MySQLで遅いクエリってあるから。
例えばサブクエリで遅くなってるとか、limit句が遅いとか。
コメント1件

112
NAME IS NULL[sage]   投稿日:2013/10/14 20:17:46  ID:???.net(852)
>111
返信ありがとうございます。

joinで取ってくる件数を減らす、複合indexを張る等の調整はしてみました。
その他join_buffer_sizeやsort_buffer_sizeなどの数値を変えてみたりして速くはなったのですが、それでも0.7秒程度かかってしまいます。

やっぱり0.7秒かかるクエリは許容できるものでは無いですかね・・・?
コメント1件

113
NAME IS NULL[sage]   投稿日:2013/10/14 20:24:00  ID:???.net(852)
>112
> 許容
要件によるとしか言いようがなくね?

とりあえずクエリならEXPLAIN駆使して最適化を頑張る。
それでもダメっぽいなら違う手段で高速化を試みるってのも考えてみれば?
コメント2件

114
NAME IS NULL[sage]   投稿日:2013/10/14 20:41:34  ID:???.net(852)
>113
ですよねぇ。。。ちなみに一秒間に10回ぐらい実行されるので個人的には0.0x秒まで持っていきたいです。

explainも試してみてインデックスはすべて使われてるのですが、group byとorder byを同時に使うとどうにもパフォーマンスが落ちてしまいます。
ちょっとmysql以外での最適化方法も含めて試してみたいと思います。ありがとうございました。

115
NAME IS NULL[sage]   投稿日:2013/10/14 21:22:09  ID:???.net(852)
>113
大体解決できそうです、MySQLは大量データをそのままorder byするとindexが使われなくなるんですね・・。
ある程度絞り込みを行う事で対応できそうです。有難うございました。

116
NAME IS NULL[sage]   投稿日:2013/10/18 19:23:00  ID:???.net(852)
カラムに 1,10,20という文字列が入ってて、これの1のみを取得するためにはどうしたらいいですか?
コメント1件

117
NAME IS NULL[sage]   投稿日:2013/10/18 20:11:05  ID:???.net(852)
こういうことを言ってるのか?


LEFT(str,len)

ストリング str からの左側の len 文字を戻し、引数が NULL である場合は NULL を戻します。
mysql> SELECT LEFT('foobarbar', 5);
-> 'fooba'

http://dev.mysql.com/doc/refman/5.1/ja/string-functions.html

118
NAME IS NULL[sage]   投稿日:2013/10/18 22:51:43  ID:???.net(852)
>116
SQLを勉強しましょう

119
NAME IS NULL[sage]   投稿日:2013/10/18 23:48:29  ID:???.net(852)
テーブル設計直した方がよくね?

120
NAME IS NULL[]   投稿日:2013/10/19 10:45:03  ID:JwXq+6XR.net
>110
メモリーちゃんと使い切れてる?

MyISAMで作ったテーブルなのにinnodb_buffer_poolにメモリーの7割割いてるとか
慣れない管理者はよくやるけど。

121
NAME IS NULL[]   投稿日:2013/10/22 03:17:29  ID:V6xgv5I1.net
mysql5.5+xampp+windows7の環境で,日付データが[Thu Sep 12 23:19:37 JST 2013]のような形式のファイルを読み込ませたいのですが
コラムの型指定はどのようにすればよいでしょうか?それとも、PHPなどで整形してからでないと登録できないのでしょうか。
今のところ仕方なくtext型で登録しています。

122
NAME IS NULL[sage]   投稿日:2013/10/22 09:28:45  ID:???.net(852)
STR_TO_DATE() 使うとか

123
NAME IS NULL[]   投稿日:2013/10/22 13:16:08  ID:CoaG8hrm.net
ありがとうございます。調べてやってみました。
(id, @var , ~) SET date = STR_TO_DATE(@var, '%W %M %d %T JST %Y')
これで解決できました。
コメント1件

124
NAME IS NULL[]   投稿日:2013/10/23 16:29:35  ID:/T7nfZcL.net
パーティショニングって何百MBぐらいに成ったらしたほうがいい?
クエリ帰ってくるのが遅く感じるまで分割意識しなくておけー?
コメント1件

125
NAME IS NULL[sage]   投稿日:2013/10/23 22:04:29  ID:???.net(852)
>124
後から切るのもつらいぞ

126
NAME IS NULL[sage]   投稿日:2013/10/24 01:19:03  ID:???.net(852)
>123
悪いとは言ってない
馬鹿にしてるだけ

127
NAME IS NULL[sage]   投稿日:2013/10/26 00:57:47  ID:???.net(852)
INSERT INTO table SELECT * FROM old_table
コマンドを実行したら
#1026 - "ra get failed"とか言うエラーが出て
ググってももそれらしいものがヒットしないんだけど
これは何が原因なんでしょうか?
コメント1件

128
NAME IS NULL[sage]   投稿日:2013/10/26 09:23:12  ID:???.net(852)
#1026はファイル書き込みエラー
ディスクがいっぱいとか

129
NAME IS NULL[]   投稿日:2013/10/26 17:57:22  ID:rPqGsWTx.net(3)
>127の後色々いじったら
malloc fail (数字)=(nil) (ii.c:数字) <数字>
と言うエラーに変わりました
メモリー周りが怪しい?
設定で何とかならないもんでしょうか?

130
NAME IS NULL[]   投稿日:2013/10/26 17:57:58  ID:rPqGsWTx.net(3)
あとなぜかmysqlがメモリ容量限界まで使い切ってる模様

131
NAME IS NULL[]   投稿日:2013/10/26 18:08:32  ID:rPqGsWTx.net(3)
ああ限界まで使い切ってるのは勘違い
でもなんかメモリー関係でエラーが出てるのは間違いなさそうだ
コメント1件

132
NAME IS NULL[sage]   投稿日:2013/10/26 18:41:58  ID:???.net(852)
>131
エスパーじゃないから色々設定いじったとか言われても分からん。
>1のサイトを見た上で出直してくると良い。

133
NAME IS NULL[sage]   投稿日:2013/10/26 19:34:49  ID:???.net(852)
my.cnfの設定がどうなっているとか情報を一切晒さず回答しろですか

134
NAME IS NULL[sage]   投稿日:2013/10/27 14:36:29  ID:???.net(852)
百戦錬磨のエスパーのおまいらならそれくらい出来るはずだ
考えるな 感じろ

135
NAME IS NULL[sage]   投稿日:2013/10/27 15:31:04  ID:???.net(852)
どうせセキュリティ関連の何かが動いてて書き込めないとかだろ

136
NAME IS NULL[sage]   投稿日:2013/10/27 18:52:15  ID:???.net(852)
OSの情報すらない状況で何が言えるのか
"色々いじった"のが原因と推測するのが当然と思われるので、
サンプルの設定ファイルに差し替えてどうかをまず見てみる

137
NAME IS NULL[sage]   投稿日:2013/10/28 17:49:21  ID:???.net(852)
ねぇ皆、mariaDBに移行した、または近々以降予定って人、会社いる/ある?

138
NAME IS NULL[sage]   投稿日:2013/10/28 18:03:15  ID:???.net(852)
移行はしてないけど新規は全部MariaDB

139
NAME IS NULL[sage]   投稿日:2013/10/28 22:37:54  ID:???.net(852)
なるほど
でも今後はやっぱMySQLよりも、mariaDBが主流になっていくんだろうなぁ
5年かかるかな?

140
NAME IS NULL[sage]   投稿日:2013/10/29 08:00:19  ID:???.net(852)
そんなにかからないと思う
もう新規でmy入れる人は少ないよな

141
NAME IS NULL[sage]   投稿日:2013/10/29 08:06:07  ID:???.net(852)
うちはまだMySQL入れてるな
そんなに主流になりそうなの?>MariaDB
MariaDBも保守サポートがあるみたいだから入れるのは別にいいんだけど

142
NAME IS NULL[sage]   投稿日:2013/10/29 10:18:35  ID:???.net(852)
海外勢はもう結構移行してるんじゃないの?
日本は基本的に海外勢と比べるとワンテンポ、ツーテンポ遅れるから

143
NAME IS NULL[sage]   投稿日:2013/10/29 23:24:08  ID:???.net(852)
世界一MySQLを使ってるらしいFacebookはまだMySQL、TwitterもまだMySQLだと思う。

144
NAME IS NULL[sage]   投稿日:2013/10/30 06:20:25  ID:???.net(852)
あそこはカスタマイズしまくっててMySQLと呼べるか疑問

145
NAME IS NULL[sage]   投稿日:2013/10/30 08:41:51  ID:???.net(852)
社内ではtwitterとfacebookはMiraDB使ってるみたいだけどな。
パフォーマンス的にはMySQL5.6の方がまだ上なのかね。

146
NAME IS NULL[sage]   投稿日:2013/10/30 09:41:58  ID:???.net(852)
パフォーマンスはもともとMariDBの方が上。

147
NAME IS NULL[sage]   投稿日:2013/10/30 12:13:48  ID:???.net(852)
5.6より性能いいの?

148
NAME IS NULL[sage]   投稿日:2013/10/30 15:55:22  ID:???.net(852)
まあ強いよな。著名な開発者がMariaに流れたし、
Oracleが改良した部分はパクればいいんだし。

149
NAME IS NULL[sage]   投稿日:2013/10/30 18:37:43  ID:???.net(852)
5.6は大幅にリファクタリング入っててパクるの無理みたいよ

150
NAME IS NULL[]   投稿日:2013/10/30 22:58:12  ID:Zcjfjy3F.net
その5.6をしっかりリファクタリングしたPercona Server

151
NAME IS NULL[]   投稿日:2013/10/30 23:56:57  ID:eIx8z178.net
主キーが設定されているテーブルに何故か空白のレコードが入るんだが
どうしたらいい?

152
NAME IS NULL[sage]   投稿日:2013/10/31 00:08:08  ID:???.net(852)
NULLも1つの値、2行入るならおかしいが

153
NAME IS NULL[]   投稿日:2013/10/31 00:32:37  ID:2hfPmUNF.net(2)
ロックについて質問。

READロックにすると、ロックを取ったスレッドも書き込めなくなる。
WRITEロックにすると、ロックを取ったスレッド以外は参照もできなくなる。

全スレッドから参照はできて、書き込みはロックを取ったスレッドしかできないようなロックの仕方はありませんか?
コメント1件

154
NAME IS NULL[sage]   投稿日:2013/10/31 06:54:39  ID:???.net(852)
ダーティーリードを許したいってこと?

155
NAME IS NULL[]   投稿日:2013/10/31 12:51:40  ID:2hfPmUNF.net(2)
まあ、そういうことになるのかな
書き込みはロックを取らないとできない、複数スレッドから同時に書き込んでデータがおかしくならないようにしたい
ただし書き込み処理に時間がかかるのでその間も読み込みはストールしないようにしたい、そんな感じです

156
NAME IS NULL[sage]   投稿日:2013/10/31 13:03:05  ID:???.net(852)
>153
古いバージョンのマニュアルだけど、
http://dev.mysql.com/doc/refman/5.1/ja/innodb-transaction-isolatio...
の内容を理解して、MySQLがサポートしているトランザクション分離レベルでは要件を満たせないなら、
アプリ側で独自ロックをやるしかないね。
ただし、そのアプリの外側ではやり放題になるけど。

157
NAME IS NULL[]   投稿日:2013/10/31 14:05:06  ID:rbtVJ87Z.net(3)
質問させてください

最新の10件を残して残りすべて削除するにはどうしたらよいでしょうか?
よろしくお願いします。

158
NAME IS NULL[sage]   投稿日:2013/10/31 14:48:24  ID:???.net(852)
抽出できる物は削除できる。
まずはその最新の10件をSELECTできるように、そして最新の10件以外を
SELECTできるようなればそれをDELETEに渡すだけだ。
って何の最新?
コメント1件

159
NAME IS NULL[]   投稿日:2013/10/31 15:11:00  ID:rbtVJ87Z.net(3)
>158
レスありがとうございます。
説明不足ですみません。最新とは登録した時間のことです。

最新のレコードをN件残して古いものを削除 したいのです。よろしくお願いします。
コメント1件

160
NAME IS NULL[sage]   投稿日:2013/10/31 15:50:55  ID:???.net(852)
DELETE FROM table WHERE id NOT IN (SELECT id FROM table ORDER BY 登録時間 LIMIT 5)
こんな感じでいいんじゃない?
ユニークなid無かったらそこも登録時間にする手もあるけど。
コメント1件

161
NAME IS NULL[]   投稿日:2013/10/31 16:08:21  ID:rbtVJ87Z.net(3)
>160
ありがとうございます。
しかしながらエラーが出てしまいました。

This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'

mysqlのバージョンは5.5.34です。

162
NAME IS NULL[sage]   投稿日:2013/10/31 19:04:41  ID:???.net(852)
>159
「時間」という型はない
説明の仕方が分からなければCREATE TABLE文、入ってるデータを表すINSERT文、欲しい結果を書こう
あとSQLの質問はこっちで
SQL質疑応答スレ 14問目
コメント1件

163
NAME IS NULL[sage]   投稿日:2013/11/01 15:24:17  ID:???.net(852)
>162
> 「時間」という型はない
アスペなの?DATETIME使えばいいだろ。
コメント1件

164
NAME IS NULL[sage]   投稿日:2013/11/01 16:08:49  ID:???.net(852)
なんでもかんでもアスペアスペ言えば良いと思ってんじゃねーぞ

165
NAME IS NULL[sage]   投稿日:2013/11/01 16:19:24  ID:???.net(852)
時刻型ならあるが時間型はない
・・・とか言いたいんだろうか

166
NAME IS NULL[sage]   投稿日:2013/11/01 18:10:47  ID:???.net(852)
long int使えっててどっかに書いてあった

167
NAME IS NULL[sage]   投稿日:2013/11/01 19:09:37  ID:???.net(852)
>163
あなたがエスパー能力の持ち主か
(ファミチキ下さい)
俺が思っている事を当ててみてくれ
コメント1件

168
NAME IS NULL[sage]   投稿日:2013/11/01 19:37:21  ID:???.net(852)
>167
ファミチキ無いならケンタ喰えばいい

169
NAME IS NULL[]   投稿日:2013/11/03 21:33:26  ID:WS2i8ToB.net
事前面接の事実をおさえて職安法44条で刑事告訴
http://wiki.algomon.com/wiki/%E4%BA%8B%E5%89%8D%E9%9D%A2%E6%8E%A5

170
NAME IS NULL[sage]   投稿日:2013/11/04 15:52:39  ID:???.net(852)
MySQLってよりは、RDB全般的なことなのかもしれないけど、
レコードを削除するにあたって、

(1) delete文でレコードを物理削除する
(2) 物理削除はせずにupdateで削除フラグをONにするだけ
  (後からまとめてバッチで物理削除)

のどちらを選ぶのが負荷的やパフォーマンス的にベターですか?
DBの用途はBtoC系Webサービスなんですが。

171
NAME IS NULL[sage]   投稿日:2013/11/04 15:54:41  ID:???.net(852)
DBによっては内部で同じことしてるのもあるし、、、
外部キーとか入り組んでてカスケードで消える物が多いとか
そう言う状況でも変わってくるだろう。
コメント1件

172
NAME IS NULL[sage]   投稿日:2013/11/04 16:59:19  ID:???.net(852)
個人的な好みで言うとレコードの削除は極力しないかな。
何か問題があった時データが存在していたほうが便利だし。

173
NAME IS NULL[]   投稿日:2013/11/04 17:59:35  ID:ZLFi3YdQ.net
MySQLのレプリケーションするときって、Master側が再起動したら、その都度Slave側の設定をやり直さないといけないんですか?
コメント1件

174
NAME IS NULL[sage]   投稿日:2013/11/05 01:26:26  ID:???.net(852)
slaveはmasterのバイナリログを見に行ってるだけだから、特に何もしなくてもいいよ。
slaveを再起動したときも、オプションにskip_slave_start = 1が入ってない限り自動的にレプリケーションが再開される。
slaveはmaster側のDB操作とか記憶されたバイナリログの位置を記憶してるから、masterやslaveが停止したところで記憶したログの位置から処理を初めてくれる。

そういえばskip_slave_start = 1指定するとログのロテートする都度、START SLAVE;実行するハメになるんだけど何かスマートな方法ってあるの?
コメント1件

175
NAME IS NULL[sage]   投稿日:2013/11/05 01:57:50  ID:???.net(852)
>173
基本的には、174 が書いてる通り。
Master と切断されたら master-connect-retry(default:60sec) で設定された間隔ごとに
再接続を行う。現在の値は show slave status の Connect_Retry で確認できる。
error_log にもその際のメッセージが書かれてると思うし、show slave status でも出たはず
ログ:
[ERROR] Slave I/O: error connecting to master 'user@host:3306' - retry-time: 60 retries: 86400, Error_code: 1130

>174
うちでは、skip_slave_start 設定してないし、
flush binary logs/ flush logs や reset master は使わないのでわからないのだが
skip_slave_start はトラブル時に勝手に再開しないように設定してる?

もしそうならば、ローテートしないようにするぐらいしかないんじゃないかな..
# slow_log/error_log のためにローテートしてるなら、5.5 以降の個別ローテートを検討で
コメント1件

176
NAME IS NULL[sage]   投稿日:2013/11/05 07:48:45  ID:???.net(852)
>175
クラッシュした時とか勝手に再開されてデータの不整合起こらないように、、なんだけど特に運用する上での必須という訳じゃなさそうだしオフにしときます。
あざっす!

177
173[]   投稿日:2013/11/05 21:42:37  ID:KR1DJtGu.net(3)
何度もすみません
マスター側で show master status した結果の File と Position を使って、
スレーブ側で
change master to master_host='masterhost', master_user='repuser', master_password='reppass', master_log_file='mysql-bin.000001', master_log_pos=100;
とか実行するとレプリケーションが開始するところまで確認できました
その後、マスター側のMySQLをリスタートかけると show master status の File と Positionの値が変わってしまうので
スレーブ側で同期がとれなくなってしまうのです
これはこういうものだと割り切って、マスターがリスタートするたびに show master status と change master to xxx を実行しないといけないということでしょうか

178
NAME IS NULL[sage]   投稿日:2013/11/05 21:48:06  ID:???.net(852)
レプリケーション本当に開始されてる??
マスター側が再起動しても、少し待てばスレーブも同じPositionになるはずだけど。

エラーログ一度確認してみた方がいいんじゃない。

179
NAME IS NULL[]   投稿日:2013/11/05 22:09:15  ID:KR1DJtGu.net(3)
はい。マスター側にInsertするとスレーブ側にも反映されているので同期とれてると思います

180
NAME IS NULL[]   投稿日:2013/11/05 22:13:19  ID:KR1DJtGu.net(3)
すみません。できてました
再同期取るまで多少時間がかかるんですね
マスター再起動、Insertですぐにスレーブに反映されると思ってました
みなさん、ありがとうございました

181
NAME IS NULL[sage]   投稿日:2013/11/05 22:18:23  ID:???.net(852)
お、おう。

182
170[sage]   投稿日:2013/11/06 23:46:46  ID:???.net(852)
>171-172
ありがとうございます。
参考になった。
とりあえず論理削除(削除フラグON)でいくことにします。
コメント2件

183
NAME IS NULL[sage]   投稿日:2013/11/07 00:34:47  ID:???.net(852)
MariaDBをライセンス以外の理由で使ってる人いる?

184
NAME IS NULL[sage]   投稿日:2013/11/07 20:19:39  ID:???.net(852)
宗教上の理由で使ってます。

185
NAME IS NULL[sage]   投稿日:2013/11/08 00:15:06  ID:???.net(852)
10年前亡くなったばあちゃんの遺言。

186
NAME IS NULL[sage]   投稿日:2013/11/08 07:08:12  ID:???.net(852)
家庭の事情

187
NAME IS NULL[sage]   投稿日:2013/11/08 08:06:27  ID:???.net(852)
>182
削除日付推奨

188
NAME IS NULL[sage]   投稿日:2013/11/08 08:30:18  ID:???.net(852)
>182
パーティショニングはしとくことお勧め

189
NAME IS NULL[sage]   投稿日:2013/11/10 02:54:45  ID:???.net(852)
mysqlコマンドにつけるオプションと同じことを、
sqlスクリプトの中で指定することはできますか。
たとえば mysql --slient や mysql --comments と
同じような動作にさせたいとき、sqlスクリプトの
中で何かオプションを設定すれば、--silent や
--comments と同じ動作になる、みたいなことは
できますか。
setコマンドでできるなら、variable名を教えてください。
よろしくお願いします。

190
NAME IS NULL[]   投稿日:2013/11/10 08:31:47  ID:/L0A8Xk+.net
MariaDBとPercona Serverとどっちがおぬぬめ?

191
NAME IS NULL[sage]   投稿日:2013/11/11 01:24:22  ID:???.net(852)
健全なライセンスで、MySQLの作成者とgoogle社員がコミットしているMairaDBかな。

Perconaは使ってるの聞いたことが無い。性能いいみたいだけど、使ってる事例とかあんま聞かないから仕事じゃ使えないな・・・。
個人で遊ぶには面白そうだけど。

192
NAME IS NULL[sage]   投稿日:2013/11/13 07:16:20  ID:???.net(852)
MySQLではなくUNIX系の話になると思うのだけど助けてください
mysqldumpをパイプ付きで実行した時にエラー戻り値を正しく取りたいです

mysqldump -uhoge > backup.dmp でエラー発生
echo $?  2が表示

mysqldump -uhoge | gzip -c > backup.dmp でエラー発生
echo $?  0が表示

mysqldump -uhoge > gzip -c > backup.dmpだとエラー戻り値も
取れるしバックアップも取れているみたいなんですけど
これで大丈夫ですか?
|と>の違いがよく判ってないです

193
NAME IS NULL[sage]   投稿日:2013/11/13 08:01:09  ID:???.net(852)
shell も書かずに質問とな

194
NAME IS NULL[sage]   投稿日:2013/11/13 08:12:47  ID:???.net(852)
> mysqldump -uhoge > gzip -c > backup.dmp
こんな書き方出来る shell でもあるのかと思った。
コメント1件

195
NAME IS NULL[sage]   投稿日:2013/11/13 09:35:30  ID:???.net(852)
以前にデータベースを作成した人が倍数+1の長さでフィールドを作成しています。
sample_id int(1025) UNSIGNED
scaler_id int(513) UNSIGNED
特に問題はないのですが+1をすることに何かデータベースを使用する上で良いことがあったりするんでしょうか?
コメント2件

196
NAME IS NULL[sage]   投稿日:2013/11/13 10:15:09  ID:???.net(852)
1000桁のID・・・だと・・・?

197
NAME IS NULL[sage]   投稿日:2013/11/13 10:16:23  ID:???.net(852)
>194
びっくりしてやってみた(bash)

backup.dbというファイルに未圧縮でダンプされる
gzipというファイル名の空ファイルが出来る
"-c"はmysqldumpへのオプションとして渡る (--complete-insertのalias)

そりゃそうだね

198
NAME IS NULL[sage]   投稿日:2013/11/13 10:35:41  ID:???.net(852)
backup.db >> backup.dmpの間違い
元質問 >> bashならPIPESTATUSを調べれ。他は知らん

199
NAME IS NULL[sage]   投稿日:2013/11/14 06:12:16  ID:???.net(852)
namedパイプつかってばらして書いてもいいよ

200
NAME IS NULL[sage]   投稿日:2013/11/14 18:09:51  ID:???.net(852)
>195
場合により符号分とかでキリがよくなるが(MySQLの話でもなくなるが)
そもそもその指定はおかしい。

いや、もしかしてそういう指定とかあるの?って不安になった。
コメント1件

201
NAME IS NULL[sage]   投稿日:2013/11/14 19:23:45  ID:???.net(852)
>195
それってZEROFILL属性つけた時に何桁で揃えるかで、実際何桁格納できるかには関係なかったかと。

http://dev.mysql.com/doc/refman/5.6/en/numeric-type-attributes.htm...
コメント1件

202
NAME IS NULL[]   投稿日:2013/11/14 21:56:52  ID:0ShVoWYr.net
最近DBを学び始めた者ですが、複数テーブルをLEFT JOINして条件を付けた際の順序はどうなるのでしょうか?

例えば
SELECT * FROM a LEFT JOIN b USING (id) LEFT JOIN c on b.no = c.no WHERE c.no IN ( 1,2,3);

の場合、aにb→cの順でjoinし、最後にwhereの条件で絞るのでしょうか?
それとも、a→b joinの後に、where → c joinとなるのでしょうか?

どなたか教えて下さい。
コメント3件

203
NAME IS NULL[sage]   投稿日:2013/11/15 07:17:38  ID:???.net(852)

204
NAME IS NULL[sage]   投稿日:2013/11/15 09:18:33  ID:???.net(852)
>202
他のRDBMSは知らないが、都度オプティマイザーがどっちが効率的かを判定して決める。

205
NAME IS NULL[sage]   投稿日:2013/11/15 09:50:39  ID:???.net(852)
2重書き込みのため表示しません 内容を確認する

206
NAME IS NULL[sage]   投稿日:2013/11/16 14:48:08  ID:???.net(852)
インデックスについての質問です。マルチカラムインデックス作成するのってクエリ早くする上での対策として定石なんですか?

select * from hogehoge where a = 1 order by b limit 10;

とかのクエリはaとbのマルチカラムインデックス張らないとaのインデックスしか有効にならないって認識なんですが合ってますかね?

PostgreSQL普段使っててちと勉強中です。
コメント1件

207
NAME IS NULL[sage]   投稿日:2013/11/16 14:59:59  ID:???.net(852)
>206
explain して比較してみればいいんじゃないの。
コメント1件

208
NAME IS NULL[sage]   投稿日:2013/11/16 15:29:08  ID:???.net(852)
>207
explainしてインデックスの利用状況確認してるんですが、一回のソートで一つのインデックスしか使われないんですね・・・。
実際にはjoinしてwhere かけているsql文なのですが、マルチカラムインデックスを作成してもuse index句を入れないとマルチカラムインデックスが使われませんでした。

設定とかでマルチカラムインデックスを優先して使ってもらう方法ってありますか? 特定のORM使ってるので、use index入れるのが辛いので・・・。
コメント1件

209
NAME IS NULL[sage]   投稿日:2013/11/16 15:42:34  ID:???.net(852)
>208
それはデータの中身や量の問題だよ

プランナがインデックスよりスキャンのほうが好ましいと思えばそうなる

設定だとrandam_costいじれば良いが、ここMySQL板だぞ
コメント1件

210
NAME IS NULL[sage]   投稿日:2013/11/16 15:52:38  ID:???.net(852)
.>209
すいません、言葉足らずでした。PostgreSQLを普段使っててMySQLを勉強中という意味です。
案件でMySQLが多いので運用のノウハウとか知りたくて色々弄ってる最中です。

211
NAME IS NULL[sage]   投稿日:2013/11/17 01:55:40  ID:???.net(852)
MySQLって結構クセがあるんですね。↓のようなクエリはインデックス使われないから別の方法考えた方がいいですよね?

select * from A inner join B on A.b_id = B.id where B.colum1 order by A.create_date;

212
NAME IS NULL[sage]   投稿日:2013/11/17 01:56:24  ID:???.net(852)
間違えた・・こっちでした。

select * from A inner join B on A.b_id = B.id where B.colum1 = 'hogehoge' order by A.create_date;
コメント2件

213
NAME IS NULL[sage]   投稿日:2013/11/17 02:08:55  ID:???.net(852)
>212
DDLも書かずにそう言われても答えようがない
コメント1件

214
NAME IS NULL[sage]   投稿日:2013/11/17 09:41:57  ID:???.net(852)
>212
use indexはどうなった?利用したらどうなんだ?
コメント1件


215
NAME IS NULL[sage]   投稿日:2013/11/17 09:45:39  ID:???.net(852)
Oracle、PostgreSQLなど他のRDMSからMySQLに移動してきて
移行が成功したって思った後に最初につまづくのが大体
order by、group byや複合カラム等へのインデックスの適用がされていなくて
パフォーマンスがた落ちってとこだからな。要注意
コメント1件

216
NAME IS NULL[sage]   投稿日:2013/11/17 11:57:28  ID:???.net(852)
>213
すいません、DDLはこんな感じです。

create table A (
id integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
create_date datetime
);

create table B (
id integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
column1 varchar(64)
);

>214
ORM使ってる都合上、あんまりやりたくなかったです。でも使うのが定石なら仕方ないですね。

>215
まじでそうですね・・・。ノウハウ積めればいいので良い経験にはなりますが、業務でこれはやりたくない・・。


ちなみにPostgreSQLに対してMySQLが優位なのって下記の点だと思ってるのですが他にありますか?
・同時接続数が増えてもパフォーマンスの劣化が起こりにくい
・レプリケーション機能が枯れているので安定性があり、情報がそこらじゅうに転がっている
・パーテショニングが比較的使いやすい
・設定が楽

オプティマイザが改良されてるMariaDBで試してみます。
コメント1件

217
NAME IS NULL[sage]   投稿日:2013/11/17 12:56:26  ID:???.net(852)
>216
a.create_dateにインデックス作れ。
オプティマイザーの問題以前に、存在しないインデックスは選びようがない。
コメント1件

218
NAME IS NULL[sage]   投稿日:2013/11/17 13:51:53  ID:???.net(852)
>217
すいません、インデックスのDDL書くの忘れていました。
a.create_dateとb.column1にはインデックス張ってます。
マルチカラムインデックスも作成したのですが、joinとorder byを組み合わせるとuse indexを指定しないとインデックスを使ってくれませんでした。
コメント2件

219
NAME IS NULL[sage]   投稿日:2013/11/17 16:08:59  ID:???.net(852)
>218
データの問題で使ってくれないだけじゃないかな?
うちではこういう結果になる (A.create_dateとB.column1はランダムで生成)

mysql> SHOW CREATE TABLE A \G SHOW CREATE TABLE B \G
*************************** 1. row ***************************
Table: A
Create Table: CREATE TABLE `A` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`create_date` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `A_create_date_idx` (`create_date`)
) ENGINE=InnoDB AUTO_INCREMENT=65521 DEFAULT CHARSET=utf8
1 row in set (0.00 sec)

*************************** 1. row ***************************
Table: B
Create Table: CREATE TABLE `B` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`column1` varchar(64) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=262135 DEFAULT CHARSET=utf8
1 row in set (0.00 sec)

mysql> EXPLAIN SELECT * FROM A JOIN B ON B.id = A.id WHERE B.column1 = CAST(RAND() AS CHAR) ORDER BY A.create_date \G
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: A
type: index
possible_keys: PRIMARY
key: A_create_date_idx
key_len: 6
ref: NULL
rows: 33157
Extra: Using index
*************************** 2. row ***************************
id: 1
select_type: SIMPLE
table: B
type: eq_ref
possible_keys: PRIMARY
key: PRIMARY
key_len: 8
ref: test.A.id
rows: 1
Extra: Using where
2 rows in set (0.00 sec)
コメント1件

220
NAME IS NULL[sage]   投稿日:2013/11/17 17:00:44  ID:???.net(852)
>218
MySQLのオプティマイザはアホの子なので、ある程度データが入ったテーブルでJOINするとかなり見誤る。

USE INDEXでしのげるなら付けてあげて。。
コメント1件

221
NAME IS NULL[sage]   投稿日:2013/11/17 17:24:19  ID:???.net(852)
>219
有難うございます、そこまでやって頂いて感謝です。
おっしゃる通り、どうやらデータ量(100万件ぐらい)が若干多いせいみたいでオプティマイザがインデックス使ってくれないみたいです。

色々試してみたのですが、下記の方法でインデックスを使ってくれるようになりました。

改善前 SELECT * FROM A JOIN B ON B.id = A.id WHERE B.column1 = CAST(RAND() AS CHAR) ORDER BY A.create_date;

改善後 SELECT * FROM A JOIN B ON B.id = A.id WHERE A.create_date < now() and B.column1 = CAST(RAND() AS CHAR) ORDER BY A.create_date;

思ったより面倒な対処しなくて済みそうで良かったです、有難うございます!

>220
そうですね・・・ちとアホの子ですね・・・。小さい規模はPostgreSQLで、大規模はMySQLでってのが少しわかりました。
小さい規模はORMでSQL文気にしないでプログラムしても大抵インデックス使われるけど、MySQLはオプティマイザを考慮したSQL文書かないとダメだからちょっと工数かかる、その代りスケールしやすいって感じなんですかね。
コメント3件

222
NAME IS NULL[sage]   投稿日:2013/11/17 17:55:23  ID:???.net(852)
>221
まず基本として
USE INDEXをつけてインデックスを使うものは
データやプランナの問題か、根本的に必要がない。
USE INDEXをつけてインデックスを使わないものは
DBの仕様の問題か、インデックスの貼りかたの問題

これPostgreSQLでも常識だろうが

で、USE INDEXをつけたときとつけないときの、応答速度はどうなんだい?

>221
>小さい規模はPostgreSQLで、大規模はMySQL
それは気のせいだ
コメント2件

223
NAME IS NULL[sage]   投稿日:2013/11/17 18:19:00  ID:???.net(852)
>222
USE INDEXをつけてインデックスが使われた場合は0.03秒、使われなかった場合は1.2秒といった結果でした。
PostgreSQLは適当にSQL文書いても、割とインデックス使ってくれます・・・。
コメント1件

224
NAME IS NULL[sage]   投稿日:2013/11/17 19:23:22  ID:???.net(852)
>223
インデックスを使わないシークの数の上限設定ができたはず。
コメント1件

225
NAME IS NULL[sage]   投稿日:2013/11/17 23:19:03  ID:???.net(852)
>224
有難うございます、調べてみます。

226
NAME IS NULL[sage]   投稿日:2013/11/18 00:03:34  ID:???.net(852)
PostgreSQLを触っててMySQL触りだすと
昔と違って今だと、シビアにチューニングできなければつらいだけ

ポテンシャルはMySQLのがまだ高いけど、大体はPostgreSQLに負ける

227
NAME IS NULL[sage]   投稿日:2013/11/18 00:48:29  ID:???.net(852)
でもなんとなくgoogleとかfacebookが使ってるMySQLを使ってしまう。

228
NAME IS NULL[sage]   投稿日:2013/11/18 01:27:01  ID:???.net(852)
そりゃシビアにチューニングできる会社だからな

同じく出来るなら使えばいいんじゃね

ホスティングとか自社サービスじゃない系はPostgreSQLかそれベースのものが増えてるからな

229
NAME IS NULL[sage]   投稿日:2013/11/18 18:23:49  ID:???.net(852)
大規模はMySQLて何を根拠にしてんだろ?

230
NAME IS NULL[sage]   投稿日:2013/11/18 19:20:10  ID:???.net(852)
google mysql やめるって

231
NAME IS NULL[sage]   投稿日:2013/11/18 19:20:33  ID:???.net(852)
MariaDBにするってだけでしょ?

232
NAME IS NULL[sage]   投稿日:2013/11/18 22:11:09  ID:???.net(852)
自力で実装しなきゃなんないシャーディンクを
標準機能とでも思ってるのでは

233
NAME IS NULL[]   投稿日:2013/11/18 23:41:16  ID:WRQu7dQ3.net
というか、オラクルがスキあらば金取ろうとして超うざい。
わざわざ会社にまで電話かけてくんなマンカス>日本オラクルの馬鹿女

234
NAME IS NULL[sage]   投稿日:2013/11/19 00:45:22  ID:???.net(852)
>222
> >221
> >小さい規模はPostgreSQLで、大規模はMySQL
> それは気のせいだ
元ネタはこれだな。
http://www.slideshare.net/matsunobu/ss-28303485
コメント3件

235
NAME IS NULL[sage]   投稿日:2013/11/19 08:40:09  ID:???.net(852)
今となっての大きな違いはマルチスレッドかマルチコアかぐらいの違いぐらいか。

236
NAME IS NULL[sage]   投稿日:2013/11/19 10:16:03  ID:???.net(852)
クラスタリングに関してはMySQLだろう
大規模ってそういう事じゃないの?
コメント1件

237
NAME IS NULL[sage]   投稿日:2013/11/19 10:45:52  ID:???.net(852)
>236
枯れきってるって意味ではな

サポート頼るならpostgresのがいい

238
NAME IS NULL[sage]   投稿日:2013/11/19 13:08:48  ID:???.net(852)
>234
読んできた。結構知識が偏ってるようで

2004年で日本は既にMySQL > PostgreSQLだったような
今は逆に、世界の方がPostgreSQLの比率が多い
コメント1件

239
NAME IS NULL[sage]   投稿日:2013/11/19 13:41:47  ID:???.net(852)
postgresもamazon rdsでもサポート始まったしな
MySQLはオワコン
かといって素直にみんなMariaいくかと言えば
「まてよ」と一度考察が入るのでそうでもない。
オラクルのMySQLつぶしはほとんど成功だな
コメント1件

240
NAME IS NULL[sage]   投稿日:2013/11/19 14:32:02  ID:???.net(852)
>239
FaceBookが利用してるやり方やDeNAがやってることとか考えると
MySQLじゃないとだめな用途はちゃんとある

PostgreSQLもビッグデータ系で多々使われるようになってるし
クラウドと実は相性が良いということもあるし

どっちもこれからまだまだいける
コメント1件

241
NAME IS NULL[sage]   投稿日:2013/11/19 15:56:51  ID:???.net(852)
>240
>FaceBookが利用してるやり方やDeNAがやってることとか考えると
>MySQLじゃないとだめな用途はちゃんとある

例えばどんな? 否定でなく、単純に知りたい。

>238
> 読んできた。結構知識が偏ってるようで


俺もそう思う。大規模の定義がFBとGoogle。この2社以外はコスト的にAWSに敵わないみたいに読める。
実際はそんな簡単じゃないんだけども。

データを自社に置くか置かないをコストだけで判断しない業種がたくさんあるわけだが、
そういう視点がすっぽり抜けてる。
コメント2件

242
NAME IS NULL[sage]   投稿日:2013/11/19 16:12:06  ID:???.net(852)

243
NAME IS NULL[sage]   投稿日:2013/11/19 17:28:08  ID:???.net(852)
>242

いや、2010年ころの話をされても。。。。って思った訳っす。

上のスライドの趣旨としては、2000年−2005年くらいの状況として
大規模はMySQLを選んだみたいに言ってるようにみえるから。
コメント1件

244
NAME IS NULL[sage]   投稿日:2013/11/19 17:38:27  ID:???.net(852)
>242

ついでにいうとFBやGoogleみたいに中身をぐちゃぐちゃに改造して
大規模対応って言われてもなぁみたいな。

中を改変しちまえば、そりゃなんでもできるじゃないという。


MySQLは大規模に向いているという理由が理解できない。
コメント1件

245
NAME IS NULL[sage]   投稿日:2013/11/19 19:23:08  ID:???.net(852)
スレッドベースだとなんでLLと相性いいの?
コメント1件

246
NAME IS NULL[sage]   投稿日:2013/11/19 19:24:33  ID:???.net(852)
>243
どこにもそんな古い話ではかかれてないよ
今の話だよ

247
NAME IS NULL[sage]   投稿日:2013/11/19 19:26:31  ID:???.net(852)
>244
それは作者に聞いてください

MySQLがPostgreSQLより大規模に向いてるとは僕は思ってない

248
NAME IS NULL[sage]   投稿日:2013/11/19 19:34:05  ID:???.net(852)
>245

RDBMSのコネクションプーリングとかその辺の話 - wyukawa’s blog
http://d.hatena.ne.jp/wyukawa/20131116/1384621867
コメント1件

249
NAME IS NULL[sage]   投稿日:2013/11/19 19:45:12  ID:???.net(852)
>241

知識は偏ってるね。
まぁ、元 MySQL のサポートエンジニアでその後は WEB系でしか働いてない人だししゃーないかな。

>> 俺もそう思う。大規模の定義がFBとGoogle。この2社以外はコスト的にAWSに敵わないみたいに読める。
>> 実際はそんな簡単じゃないんだけども。
>> データを自社に置くか置かないをコストだけで判断しない業種がたくさんあるわけだが、
>> そういう視点がすっぽり抜けてる。

俺もそう思うが、そういう人は相手にしてない資料なんじゃないかな。
正直、人事系とか外に出すなんてって思っちゃうけど、
今後 AWS 使うのは普通になる世の中が来るのかね。

昔は業務系、今は WEB系で働いてるが、WEB系に関しては、
よっぽどのことがない限りコストでは AWS の RDS のほうが有利だね。
細かなチューニングとか、トラブル時の調査とかしにくいけど、
チューニング出来る人雇うぐらいならスケールアップしたほうが安いっていう。
コメント2件

250
NAME IS NULL[sage]   投稿日:2013/11/19 20:33:40  ID:???.net(852)
>248
一通り見た。
コネクションプールを使わない場合は
MySQLのがコネクションを貼るコストがスレッドだから安いから速いってことか

複数台構成の場合コネクションプール使うし
1台の場合貼りっぱなしで問題ないから理解が出来なかった
コメント1件

251
NAME IS NULL[sage]   投稿日:2013/11/19 20:57:41  ID:???.net(852)
>249

コストの話も極論だよな。つうか、DBAなんてコスト部門でしかないわけでさ。
効率化すればするほど自分たちのクビを締めることになるんだよ。

だからMySQL使ってると、
バージョンアップ毎に膨大な作業が発生してDBAのクビが繋がる、
マッチポンプ ウマーって思うときもある。

>250

そう。そのレベルでMySQL大規模有利っておかしい。
JAVAならプーリング使えばいいし、LLでもpgpool使えばよかったわけだし。
コメント1件

252
NAME IS NULL[sage]   投稿日:2013/11/19 21:08:15  ID:???.net(852)
>249
> まぁ、元 MySQL のサポートエンジニアでその後は WEB系でしか働いてない人だししゃーないかな。


キャリア戦略で「ダメな技術は誰もダメといわない。自分で見分けろ。」って書いてるけど、
これってMySQLのことかと思ったw

253
NAME IS NULL[sage]   投稿日:2013/11/19 22:40:00  ID:???.net(852)
pgpool使っても接続数減るわけじゃないからな。
あれはポスグレへの接続コスト削減とロードバランシングか主なメリット。
それとも今のバージョンでは1コネクションで同時にクエリー発行できたりするの?

254
NAME IS NULL[sage]   投稿日:2013/11/19 22:55:21  ID:???.net(852)
よくわからんが接続コスト低けりゃそれでいいんじゃないの?
スライドの主張についての話なら。

接続数はMySQLもポスグレも変わらないだろ。カネ払ってスレッドプール入れるなら別だけど。

接続数が多い場合、昔はポスグレもMySQLも遅かったよ。
そんでポスグレのほうが並列実行性能がはやく向上した。
InnoDBはずっと遅いままだった。

255
249[sage]   投稿日:2013/11/20 00:27:28  ID:???.net(852)
昔に関して言えば、ポスグレはレプがなかったのと
VACUUMのせいで避けるようになってしまってたな。
レプがないのは、Web系では結構つらい印象(参照系がおおいので)

大規模、小規模関係なく、プール(≠永続化)しない場合は
スレッドベースである MySQL のほうが性能は稼げるかな。
プールをはさむと管理、トラブル対応めんどいとかもあるし。
コメント2件

256
NAME IS NULL[sage]   投稿日:2013/11/20 00:36:15  ID:???.net(852)
>255
レプとVACUUMの問題が解決してから世界で一気に利用者増えたし
そういうことなんだろうな

台数が多いとプールはさんだ方が管理、トラブル対応は楽よ
コメント2件

257
249[sage]   投稿日:2013/11/20 00:41:29  ID:???.net(852)
>251

> コストの話も極論だよな。つうか、DBAなんてコスト部門でしかないわけでさ。
> 効率化すればするほど自分たちのクビを締めることになるんだよ。

> だからMySQL使ってると、
> バージョンアップ毎に膨大な作業が発生してDBAのクビが繋がる、
> マッチポンプ ウマーって思うときもある

要は、AWS で RDS(マネージドDB)使うのが当たり前になると、
そういう仕事が少なくなるから、フルスタックエンジニアに成るか、
スペシャリストになって AWS では満足しないような大規模なところで
働くかしかなくなってくるよって書いてあるんだよね。

AWS(RDS) なんてって思うっちゃうけど、利便性とか対障害性とか
本当にローコストで使えてしまって、エンジニアとしてあれに対抗するの
きちいって最近いつも思ってる。
コメント1件

258
NAME IS NULL[sage]   投稿日:2013/11/20 00:45:35  ID:???.net(852)
.>256
オラクルに問題があるだけじゃないの?

259
249[sage]   投稿日:2013/11/20 00:51:08  ID:???.net(852)
>256

> レプとVACUUMの問題が解決してから世界で一気に利用者増えたし
> そういうことなんだろうな
多分最大の問題は Oracle だ。
あのニュースが流れた時、ポスグレに移行するかほんとうに悩んだ。

> 台数が多いとプールはさんだ方が管理、トラブル対応は楽よ
プールがある方が性能は上がると思うんだけど、
管理とかトラブルはどうなんだろ。
接続先を増やすときとか、アプリのコードだけじゃなくて、
プールの設定も追加しないとだめだよね?
別のものを挟むとやっぱり面倒くさくない?

260
NAME IS NULL[sage]   投稿日:2013/11/20 00:58:44  ID:???.net(852)
同時接続数を制御下におけるのはでかいと思うよ

基本アプリにはコネクションプールが接続先
なので、DB台数が増えたときはコネクションプールの設定だけ

261
NAME IS NULL[sage]   投稿日:2013/11/20 01:23:35  ID:???.net(852)
>255
Linuxなら今やスレッド起動もプロセス起動もコストはほとんど変わりないけどね。
2000年頃は確かに違ったけど、2005年頃には(カーネルバージョン忘れたけど)
プロセス起動も軽快になったんだけどね。


レプリケーションは確かにWEB系では必須だわな。
ただし、非同期レプリケーションで参照分散つうのが大規模といわれてもなぁと思うわけだ。


>257
>要は、AWS で RDS(マネージドDB)使うのが当たり前になると、
>そういう仕事が少なくなるから、フルスタックエンジニアに成るか、
>スペシャリストになって AWS では満足しないような大規模なところで
>働くかしかなくなってくるよって書いてあるんだよね。

それは一理あるんだけど、コスト+利便性でいえば集中型が最もよいけど
世の中、かならず集中と分散を繰り返すじゃない?RDSの先に何がくるか考えてるよ、俺。


スライド書いた人、ソニー、MySQL、DeNA、顔本らしいね。いく先々クラッシュしてるのが面白いと思った。
そういう価値観で会社選んで、キャリア戦略なんつうスライド書いたんだなって。

262
NAME IS NULL[sage]   投稿日:2013/11/20 04:44:14  ID:???.net(852)
ポスグレはDBの機能として、
ファイルシステムレベルでオンラインバックアップの取得が可能
レプリカも全く止めずに作成可能

これがいい

263
NAME IS NULL[]   投稿日:2013/11/20 09:26:41  ID:Md8IW4i/.net
http://postgresql.g.hatena.ne.jp/pgsql/20100704

nippondanjinippondanji2010/08/06 14:44
MySQLをよく知る者です。少し補足を入れさせてください。少し誤解があるようなので。
初回コピー時ですが、これは特に更新を停止せずに行うことが可能です。(ただしInnoDB利用時に限りますが、InnoDBがほぼ標準なので問題ないと思います。)まず第一の方法は、ZFSやLVMなどのスナップショットを利用する方法です。

nippondanjinippondanji2010/08/09 00:28
こんばんは。

> FLUSH TABLES WITH READ LOCK は一瞬では終わらないでしょうから、問題になるケースもあるのではないでしょうか? PGのオンライン・バックアップは、一瞬たりともロックを必要としません。

そういうニーズがある場合、MySQLではファイルシステムやストレージ側のスナップショットを使うことが多いですね。MySQL Enterprise Backup(旧名InnoDB Hot Backup)などを利用してもロック不要のオンラインバックアップが可能です。

結構、MySQLではオンラインバックアップ出来ないということをおっしゃる方が多いのですが、実際出来ますから、あんまり「出来ない出来ない」とは言わないで欲しいです。


と、自称ギークは言っておりますがw

264
NAME IS NULL[sage]   投稿日:2013/11/20 13:26:25  ID:???.net(852)
何で急にストレージ側の機能が出てくるんだ。

要するに出来ないんだろ。
こいつの突っかかり方キモイな。
コメント1件

265
NAME IS NULL[sage]   投稿日:2013/11/20 13:54:35  ID:???.net(852)
TechCrunchにこんな事書かれちゃうのは仕方ないよね
> PostgreSQLは、OracleがSun Microsystemsを買収してMySQLを手中にして以降、人気が増大している。
> OracleはMySQLのオープンソースな側面に関心を示さなくなったため、メンテ放棄を恐れたユーザはPostgreSQLへの引越しを開始したのだ。

これから日本は>234に書いてあるような日本市場の特殊性が起きるわけだ
コメント1件

266
NAME IS NULL[sage]   投稿日:2013/11/20 14:23:40  ID:???.net(852)
>264
>こいつの突っかかり方キモイな

こいつだなんて、自称ギーグの日本男児様をしらないのかw
日本男児様のブログさえ読んでればトランザクションも知らないWEB野郎たちは幸せに暮らせるんだ。
なにせ日本男児様はMySQLを完全無欠にみせてくれるからw

267
NAME IS NULL[sage]   投稿日:2013/11/20 20:29:36  ID:???.net(852)
postgresにhandlersocket的なものがあれば移るわ。
コメント1件

268
NAME IS NULL[sage]   投稿日:2013/11/20 20:36:43  ID:???.net(852)
>267
FDWのエクステンションつくればいいんでね?

269
NAME IS NULL[]   投稿日:2013/11/20 21:29:52  ID:kMGPfKTL.net
mysqlってwindowで使用するよりlinuxで使われること多いのか?
コメント1件

270
NAME IS NULL[sage]   投稿日:2013/11/20 21:52:33  ID:???.net(852)
windowsで使われることが多いRDBMSなんてAccessとSQL Serverくらいだから

271
NAME IS NULL[sage]   投稿日:2013/11/20 23:05:59  ID:???.net(852)
>269

LAMP

俺はWin+MySQL+Excelですけどw

272
NAME IS NULL[sage]   投稿日:2013/11/21 00:35:20  ID:???.net(852)
>265

> これから日本は>234に書いてあるような日本市場の特殊性が起きるわけだ


どうだろうねえ。
新規プロダクトはポスグレも増えるだろうけど、
すでにMySQL方言でガチガチにつくりこんだプロダクトはマリア一択だね。

オープンソースのデファクトプロダクトの多くはMySQL依存が強烈だから。

273
NAME IS NULL[sage]   投稿日:2013/11/21 00:40:25  ID:???.net(852)
逆だろ、世界はpostgresにいくのに日本はmysqlのままってことよ
コメント1件

274
NAME IS NULL[sage]   投稿日:2013/11/21 00:48:56  ID:???.net(852)
mariaってinnodb使えなくて大丈夫なの?
コメント1件

275
NAME IS NULL[sage]   投稿日:2013/11/21 08:34:09  ID:???.net(852)
>273

いやいや、世界がポスグレに流れるのかって。

もともとビジネスユースはOracle->ポスグレの流れはあった。ビジネスユースでMySQLなんて使いものにならないじゃない。
まともにジョインもできない、コロコロ仕様がかわるし。

WEB系はMySQLが強くて、オープンソースのプロダクトもMySQL依存が強い。
MySQL独自SQLを使いまくってるプロダクトが多いから、いまさらポスグレに移植できないものも多いのが実情。

どのプロダクトだってのは書かないけど、かなり多いよ。
移植が失敗したプロダクトもいくつか知ってる。どれもその分野のデファクトでポスグレ未対応。
DB詳しくない人たちが開発するから、MySQL独自機能をつかいまくって移植不可能なくらい
複雑なコードになってたり、
「PHPのDBO使ってるから移植できるっしょ」くらい軽いノリの開発者ばかりなんで
移植の問題自体を認識されてないとか。

DB屋とアプリ屋の溝はとても深いよ。

276
NAME IS NULL[sage]   投稿日:2013/11/21 08:39:57  ID:???.net(852)
>274
> mariaってinnodb使えなくて大丈夫なの?

MariaDBはInnoDBバンドルされてるよ。
InnoDBは一応オープンソースだし、Oracleが改造した機能をMariaDBも独自に取り込んでる。
それとInnoDB互換のXtraDBもバンドルされてるし。
コメント2件

277
NAME IS NULL[sage]   投稿日:2013/11/21 09:07:16  ID:???.net(852)
Oracleに潰された

278
NAME IS NULL[sage]   投稿日:2013/11/21 09:13:47  ID:???.net(852)
>276
それでライセンスとかオラクルの存在とか大丈夫なの?

mysqlから世界が逃げ出したのって、INNODBが買収されたとき始まったんよね
コメント1件

279
NAME IS NULL[sage]   投稿日:2013/11/21 09:24:01  ID:???.net(852)
xtradb作ったのは別の会社なんだよな。
使ってみたいけどサーバースペックある程度無いとinnodbと性能変わらないんだっけ?
コメント1件

280
NAME IS NULL[sage]   投稿日:2013/11/21 09:42:34  ID:???.net(852)
>279

性能がどういういう奴にかぎって、ろくでもない馬鹿SQL走らせてるよなあ。
ベンチマークばっかやってる奴とか。

281
NAME IS NULL[sage]   投稿日:2013/11/21 09:44:57  ID:???.net(852)
>278

だからオープンソースっていってるじゃん。
マリアだってMySQLのフォークなんだし。
自分たちでなんとかするのがオープンソース。
コメント1件

282
NAME IS NULL[sage]   投稿日:2013/11/21 09:47:37  ID:???.net(852)
>281
ライセンスやオラクルに対する見方が違うのがよくわかった

283
NAME IS NULL[sage]   投稿日:2013/11/21 11:36:23  ID:???.net(852)
>276 XtraDBはGPLv2下のInnoDBをフォークして魔改造 したもので、ライセンスは勿論GPLv2。
開発元はPercona。 5.5のXtraDBはMySQL 5.5から、5.6のXtraDBは MySQL 5.6からブランチしなおしてるから、
Oracle がMySQL潰したら多分進化は止まる。
進化は止ま るけど既存のフォークはGPLのまま影響を受けない ので、今あるところまでは問題なくXtraDB使える (これはInnoDBも一緒だが)

http://www.percona.com/software/percona-xtradb

XtraDBとInnoDBは共存できない。XtraDBが入って る環境でCREATE TABLE .. Engine= InnoDBってやる とXtraDBが使われる。 例外的に10.0.3〜10.0.5くらいではInnoDBが入って いたけど、MariaDBでは5.3以来ずっとXtraDB。
コメント1件

284
NAME IS NULL[sage]   投稿日:2013/11/22 16:14:50  ID:???.net(852)
>283

maria5.5.32にstorage/innobaseとstorage/xtradbがあるんだけど、
それでもCREATE TABLE .. Engine=InnoDBってやるとXtraDBになるの?
だとすると、なんでソースがバンドルされてんだろ。
コメント1件

285
NAME IS NULL[sage]   投稿日:2013/11/22 22:05:01  ID:???.net(852)
>284
なんでか知らないけど昔から両方ある。
Percona ServerのXtraDBはstorage/innobaseの下にしかないんだけどね。

SHOW ENGINESをよく見ると、InnoDBの説明にXtraDBって書いてあって、どっちやねんてかんじだけど。

286
NAME IS NULL[]   投稿日:2013/11/23 07:16:12  ID:qVAyetp/.net(2)
mysqlを勉強してる
タブレットにインストールすることは
可能?
まったく的外れだったら申し訳ない

287
NAME IS NULL[sage]   投稿日:2013/11/23 07:19:10  ID:???.net(852)
タブレットにもいろいろあってだな・・・

288
NAME IS NULL[sage]   投稿日:2013/11/23 07:38:07  ID:???.net(852)
windowsのタブレットなら出来るんじゃない
windows8がそのまま入ってるんでしょ?あれ
タブレットに入れる意味はないと思うけどな

289
NAME IS NULL[]   投稿日:2013/11/23 08:55:54  ID:qVAyetp/.net(2)
286
プラットホームを書き忘れてました
Android4.2.2 Snapdragon
タブです
Windowsタブだったら問題なかったんですが
いかんせんandroidなんで、
外出先での勉強用としてと思ってます
NotePC持ってるんですが
タブレットの軽さに慣れてしまって。
コメント1件

290
NAME IS NULL[sage]   投稿日:2013/11/23 09:06:30  ID:???.net(852)
ネットにつながるならVPSなりを借りて使うのが無難
どう入れるのか知らんがarmでもmysqlは動くようなので入れようと思えば入れらるんじゃないか
足りないパッケージは多そうだけど

291
NAME IS NULL[sage]   投稿日:2013/11/23 09:47:49  ID:???.net(852)
sqliteの勉強だったら出来るけどな
android標準dbだし

292
NAME IS NULL[sage]   投稿日:2013/11/23 10:10:20  ID:???.net(852)
>289
Androidスマホだけど、Bit Web Serverってのを使ってる。200円くらいだったはず。

293
NAME IS NULL[sage]   投稿日:2013/11/26 15:31:50  ID:???.net(852)
こっちで聞けと言われたので質問させてください
mysql5系の質問です
DBを作る時の「MyISAM」と「InnoDB」の違いがよくわかりません。
ゴミでもわかりやすいように教えて頂けないでしょうか?
コメント1件

294
NAME IS NULL[sage]   投稿日:2013/11/26 15:40:14  ID:???.net(852)
>293ですが解決しました

295
NAME IS NULL[sage]   投稿日:2013/11/27 00:12:05  ID:???.net(852)
  _, ._
( ゚ Д゚)
( つ旦O
と_)_)
  _, ._
( ゚ Д゚)   ガシャ
( つ O. __
と_)_) (__()、;.o:。
          ゚*・:.。

296
NAME IS NULL[sage]   投稿日:2013/11/27 00:24:56  ID:???.net(852)
以上ゴミがお伝えしました

297
NAME IS NULL[]   投稿日:2013/11/29 19:14:57  ID:ld8Q8jAS.net(2)
mixiやfaceookみたいなsnsのサイトにMemberテーブルがあって、Memberテーブルの各情報に対して個別に全体公開をかけるとき
その情報と対となる公開設定列が必要になるのでしょうか?

名前
年齢
住所
プロフィール
出身校

という情報があって個別に全体に公開するか設定できるとき


name
name_is_public
age
age_is_public
address
address_is_public
profile
profile_is_public
graduate
graduate_is_public


みたいな風に列を作らないといけませんか・・・?

298
NAME IS NULL[sage]   投稿日:2013/11/29 20:22:04  ID:???.net(852)
しないといけないってことはないけど、それでも実装はできるんじゃない?
逆に値の列だけでどうにかしようとすると、先頭に"!!"をつけているものは非公開と判定するとか
ユーザーが入力したものかどうかを確実に判断できるように実装しないとバグるけど
コメント1件

299
NAME IS NULL[sage]   投稿日:2013/11/29 20:31:49  ID:???.net(852)
作らないといけないっていうか、普通そう作るよね
何が嫌なんだ?

300
NAME IS NULL[sage]   投稿日:2013/11/29 20:33:23  ID:???.net(852)
それか公開情報カラムを1つで作ることも出来るけどね
そのカラムの数字が
2の倍数なら名前公開
3の倍数なら年齢公開
5の倍数なら住所公開
7の倍数ならプロフィール公開
11の倍数なら出身校公開
みたいに
いや、普通はやらんが

301
NAME IS NULL[]   投稿日:2013/11/29 20:48:03  ID:ld8Q8jAS.net(2)
>298-300
普通はこうするんですね
列の数が増えてしまうのが嫌だったのですが正攻法なのであればこれでいきます
コメント1件

302
NAME IS NULL[sage]   投稿日:2013/11/29 23:33:23  ID:???.net(852)
>301
あんまりお勧めしないけど、どうしても嫌なら公開情報テーブルを別に作る

ユーザーID
該当テーブル名
公表フラグ

あとは公表フラグを元にプログラムで判定させる。
もしくはmemberテーブル自体を、

ユーザーID
該当項目(該当テーブル名)

公表フラグ

にしてしまう。これなら横に追加しなくても良い。

303
NAME IS NULL[sage]   投稿日:2013/11/30 20:53:53  ID:???.net(852)
健全でない言葉が含まれているため表示しません 内容を確認する

304
NAME IS NULL[]   投稿日:2013/12/01 14:48:22  ID:u1FkK0X5.net

305
NAME IS NULL[sage]   投稿日:2013/12/01 15:51:04  ID:???.net(852)
>304
ggrks

306
NAME IS NULL[sage]   投稿日:2013/12/01 20:46:29  ID:???.net(852)
答えは
1:g, 2:g, 3:r, 4:k, 5:s
ですね!ありがとうございます!

307
NAME IS NULL[sage]   投稿日:2013/12/01 21:00:32  ID:???.net(852)
wwww

308
NAME IS NULL[sage]   投稿日:2013/12/01 21:34:18  ID:???.net(852)
>304
もうちょっと画質が良いのないの?

309
NAME IS NULL[sage]   投稿日:2013/12/01 23:21:39  ID:???.net(852)
まるち、ていわないんだ

310
NAME IS NULL[]   投稿日:2013/12/09 17:10:32  ID:KDrt2ZmL.net
予約語を避けるにはどうしたらいいかな
適当な接頭語をつけるのが一番楽かな

311
NAME IS NULL[]   投稿日:2013/12/13 15:44:13  ID:UakRrOee.net
RHEL ver7
MySQL -> MariaDB

http://www.zdnet.com/red-hat-enterprise-linux-7-beta-arrives-with-...

MySQL完全に終ったな

312
NAME IS NULL[sage]   投稿日:2013/12/13 16:51:05  ID:???.net(852)
本気環境で使うのにRedhat標準のものをずっと使い続けることがありえない。
特にMariaの方はVersionUpも頻繁に行われるだろうし。

313
NAME IS NULL[sage]   投稿日:2013/12/13 17:13:52  ID:???.net(852)
RHELにはいったのはMariaDB5.5。安定版だよ。
それにディストリ固有のパッケージ使いたい人たちが多数。
普通はパッケージ管理なんてやりたくないんだよ。


そもそもMySQLのバージョンアップのほうがキツいだろ。
ボロボロの状態でGAリリース、何年たっても不安定。
コメント1件

314
NAME IS NULL[sage]   投稿日:2013/12/13 17:18:31  ID:???.net(852)
この人たち、裏で必死に転職活動してそうだわ

https://twitter.com/RKajiyama/status/387821488759250944

315
NAME IS NULL[sage]   投稿日:2013/12/13 20:39:35  ID:???.net(852)
>313
出たばっかの頃はいいが、そっから3年くらいはずっとそのままのバージョンで行くんだぜ。。。
そなるといずれは自分で入れることになるんだから。
コメント1件

316
NAME IS NULL[sage]   投稿日:2013/12/13 22:59:32  ID:???.net(852)
>315

>そなるといずれは自分で入れることになるんだから。

MariaDBをだろ
だからMySQL終了だっつうのw

>出たばっかの頃はいいが、そっから3年くらいはずっとそのままのバージョンで行くんだぜ。。。

まじめな話、Maria10.0なんてまだαだし、5.5で数年行くのは正しいだろ。
Maria5.5とMySQL5.5はほとんど同じだし。

RHELなど主要ディストリビューションがMySQLからMaria5.5から切り替えたのはデカイよ。
よほどの物好きか、最新版大好きの素人しかMySQL5.6に移行しないだろう。

317
NAME IS NULL[sage]   投稿日:2013/12/13 23:56:53  ID:???.net(852)
もうずいぶん前から予想できたことだろ
このスレでも何回もMySQLはオワコン、Oracle完全犯罪的な話出てきたろ
既定路線

318
NAME IS NULL[sage]   投稿日:2013/12/14 13:06:29  ID:???.net(852)
インデックス張ってももう無理だ
レコードが7億いった・・・
コメント2件

319
NAME IS NULL[sage]   投稿日:2013/12/14 14:58:58  ID:???.net(852)
すっごw

320
249[sage]   投稿日:2013/12/14 15:52:25  ID:???.net(852)
>318
十分なメモリと、最適なインデックスの追加、利用さえしておけば、
レコード数だけが問題になることはない気がするが...
(1レコードのサイズが大きいテーブルのレコード数が増えるのは問題
メモリが足りないんだったら、SSD にするかメモリつむ以外ないんじゃないかな。

経験上は下手なインデックスの利用、下手なテーブル定義が問題となることが多い。
メモリ 72G で 20億レコード、インデックス含めて64Gのテーブルとか運用してるけど
レコード数がどうこうより、データサイズどうにかしたい。

321
NAME IS NULL[sage]   投稿日:2013/12/15 11:14:44  ID:???.net(852)
7億レコードなんて別に大したことじゃ無いと思うが。
インデックスがメモリに乗らなくなったって言いたいんだろうけど。

322
NAME IS NULL[sage]   投稿日:2013/12/15 11:50:57  ID:???.net(852)
日本レコード大賞

323
NAME IS NULL[sega]   投稿日:2013/12/17 16:35:22  ID:???.net(852)
一度にひとつのキーでしか検索しない設計なんですが
どのキーで検索するかは状況によってバラバラです

検索に使われる予定のキーに かたっぱしからインデックスを
張っといた方がいいですかね?
コメント1件

324
NAME IS NULL[sage]   投稿日:2013/12/17 17:04:56  ID:???.net(852)
>323
実測しろ
コメント1件

325
NAME IS NULL[sage]   投稿日:2013/12/17 18:32:42  ID:???.net(852)
>324
そりゃするけどさ、念のために聞いておきたかっただけじゃん?


あと、これも実測しろと言われるの間違いなしなんだけど、
結果がひとつだけだと確信できるクエリのときも、あえて
LIMIT 1をつけたほうが速いのかな。 速そうな印象はある

326
NAME IS NULL[sage]   投稿日:2013/12/17 20:31:46  ID:???.net(852)
テーブルスキャンのときは LIMIT 1 で早くなるはず

327
NAME IS NULL[sage]   投稿日:2013/12/17 22:44:58  ID:???.net(852)
>318
四の五の言わずにioDrive入れちまえ。あのコスパの良さは明らかに異常。

328
NAME IS NULL[sage]   投稿日:2013/12/23 22:10:41  ID:???.net(852)
インストールするときにChoosing a Setup Typeのとこで
Developper Default, Server only, Client only, Full, Customから選びますがどのような違いがあるのでしょうか?

329
NAME IS NULL[sage]   投稿日:2013/12/24 21:55:49  ID:???.net(852)
その質問をする人は、Defaultで問題ない
簡単に言うとインストールされるファイルの組み合わせを選ぶ
具体的な違いを教えろって?ggr

330
NAME IS NULL[sage]   投稿日:2013/12/25 22:40:19  ID:???.net(852)
試しにインストールしてみたのですが、Developper DefaultとFullは同じな気がします。

331
NAME IS NULL[]   投稿日:2013/12/27 11:01:17  ID:RABYehPe.net
InnoDB三ヶ月に1回ぶっ壊れるようにわざとしてるだろ?
不満なら有料のもの買えってことか。
タダより高いものはないな。

332
NAME IS NULL[sage]   投稿日:2013/12/27 12:39:19  ID:???.net(852)
壊れねぇよ
どういう使い方してんだ

333
NAME IS NULL[]   投稿日:2013/12/27 15:24:27  ID:9aKIae9M.net
練習用としてXAMPPを使用しています
バックアップとして
mysqldumpを使います
mysql>mysqldump -u root -p9999 c_9>c_9dump.sqlで
あってるのでしょうか。
mysql>(コマンドプロンプロが間違ってる?)

334
NAME IS NULL[sage]   投稿日:2013/12/27 19:03:50  ID:???.net(852)
--password=9999

335
NAME IS NULL[]   投稿日:2013/12/28 18:29:01  ID:ZNxoVZ7w.net(2)
WIN7のこまんどぷろんぷとから実行したいのですがstartしてるのを確認してmysql -u root -pを実行しても
バッチファイルとして認識してませんで出来ないです 助けて

336
NAME IS NULL[]   投稿日:2013/12/28 18:43:08  ID:ZNxoVZ7w.net(2)
自己解決
環境変数だった

337
NAME IS NULL[]   投稿日:2014/01/10 11:05:07  ID:oqp795AA.net
在日の親は、子供を朝鮮幼稚園・朝鮮学校に入れたいっていうのが多いのよ。
日本人からすると、なんでだろうって思うけど、日本人の学校では、民族の誇りを持った教育がしてもらえないんだそうだ。
よく分からないけど、流刑者の白丁が密入国して住み着いたじゃ誇りが持てないけど、日本人に強制連行された被害者なら誇りが持てる、とかそういう事かな??

市原市の能満は昔から市街化調整区域で、新規の建物は造れないことになっている。
そのため土地が安く、日本の法律を無視した在日が、次々と移り住んできた。
そこで問題になったのが、朝鮮学校だ。なかなか許可が下りず、一番近くても千葉市にしかない。
そこで在日居住区の能満内にあった、能満幼稚園・市原小・市原中・緑高の保育士や教師を、朝鮮化する事を考えた。
今では通称在日幼稚園の保育士は全て朝鮮帰化人で、在日の父兄からの絶大な支持を受けている。
遠くからでも、わざわざ通称在日幼稚園に入園させたいという在日の親は、後を絶たない。
この在日幼稚園卒園者はほぼ朝鮮系の帰化人と在日で、現在各所でクレーマーとなり問題を起こしている。

338
NAME IS NULL[]   投稿日:2014/01/13 11:07:38  ID:JNIvUl1u.net(6)
MySQL5.5でInnoDBでロックのためにSELECT FOR UPDATEを使ってるんだけど
運用したら、ユーザー2名に同時に参照される不具合が起きてしまった
ユーザーAのトランザクション中は、ユーザーBはその行を読み出せないと思ってたけど違うの?
コメント1件

339
NAME IS NULL[sage]   投稿日:2014/01/13 12:32:29  ID:???.net(852)
>338
〜〜 FOR UPDATE で排他ロックをかけてるときは、理解の通りロックかけたトランザクションが
コミットかロールバックするまで、ほかのトランザクションはいかなるアクセスもできないはず。
コメント1件

340
NAME IS NULL[sage]   投稿日:2014/01/13 16:12:42  ID:???.net(852)
読みだしはできる

341
NAME IS NULL[]   投稿日:2014/01/13 16:15:38  ID:JNIvUl1u.net(6)
>339-340
どっちが本当?

342
NAME IS NULL[sage]   投稿日:2014/01/13 16:24:09  ID:???.net(852)
ユーザーBのSQL次第

343
NAME IS NULL[]   投稿日:2014/01/13 16:31:32  ID:JNIvUl1u.net(6)
なるほど、やることはAB両方共同じで

トランザクション開始
SELECT FOR UPDATEでレコード取得
有効レコードなら無効(売約済み)にUPDATE
トランザクションコミット

というコードになっています。
ところがAB共同じレコードを取得してしまった、という問題です。
この場合どこがおかしいのか、悩んでしまって…。

344
NAME IS NULL[sage]   投稿日:2014/01/13 17:27:20  ID:???.net(852)
両方 UPDATE 付いてたら待たされるはず。
ロックかかってるとSELECT失敗するわけじゃなくて、終わるまで待つだけよ?

試しに手入力でやってみては

345
NAME IS NULL[]   投稿日:2014/01/13 17:42:32  ID:JNIvUl1u.net(6)
2窓で手でbegin; select xxxx for update; update xxxx とかやってみたら、
ちゃんと後からのselectは待たされ、updateした方がcommitしたらupdate後の値が取得された。
これなら想定通りなんだが、なぜか運用すると両方共update前の値を取得したような動きをする。
CakePHP通してSQLを発行しているので、そこが何か悪さしてるのかな。だとしたら調査に時間がかかりそうだ。
コメント1件

346
NAME IS NULL[sage]   投稿日:2014/01/13 18:44:14  ID:???.net(852)
>345
実はSQLでデータ取っていなくて、サーバのキャッシュを取得していたとかいうオチでは?
コメント1件

347
NAME IS NULL[]   投稿日:2014/01/13 19:10:51  ID:JNIvUl1u.net(6)
>346
CakeのSQL発行関数にcache=falseの指定はしているんだが
そのくらいしか考えられないな…もう一度確認してみますわ

348
NAME IS NULL[sage]   投稿日:2014/01/13 19:22:08  ID:???.net(852)
クエリーログ取るんじゃダメ?

349
NAME IS NULL[]   投稿日:2014/01/13 19:31:35  ID:JNIvUl1u.net(6)
うーん、何度見てもキャッシュはしっかりfalse指定されてた
実は滅多に再現しないから、ログ取るようにして気長に再発を待つしかないかな

350
NAME IS NULL[sage]   投稿日:2014/01/14 10:41:08  ID:???.net(852)
どこかに FOR UPDATE 抜けたやつが紛れ込んでるな

351
NAME IS NULL[]   投稿日:2014/01/14 12:19:47  ID:5XYg85D5.net(2)
それがなさそうなんだよねえ…。コード中1個所しかないし。
引き続き調べ中ですが、再現が難しい感じです。

352
NAME IS NULL[sage]   投稿日:2014/01/14 12:52:58  ID:???.net(852)
データベースサーバは1台だよな

353
NAME IS NULL[]   投稿日:2014/01/14 16:19:13  ID:k7q4QSRl.net
トランザクションレベルはどうなってんすか?

354
NAME IS NULL[sage]   投稿日:2014/01/14 16:26:11  ID:???.net(852)
実はInnoDBじゃない
分離モードがREAD UNCOMITTED
FOR UPDATEついてないSQLで取得したデータ見てる

355
NAME IS NULL[sage]   投稿日:2014/01/14 17:09:48  ID:???.net(852)
横やり失礼。
先発のトランザクションが SELECT ~ FOR UPDATE している間、
後発のトランザクションの読み込みを待たせたい場合は、
後発のクエリに「LOCK IN SHARE MODE」をつければOKって認識であってますか?

356
NAME IS NULL[]   投稿日:2014/01/14 17:11:53  ID:5XYg85D5.net(2)
DBはマスターとスレーブの2台。今回の処理はすべてマスターに対して行っている。
テーブルは全てInnoDB。
分離モードはREPEATABLE-READ。
FOR UPDATEついてないSQLが万が一にも発行されていないか調べているが、アクセスするコードは1ヵ所しかないので考えにくい。
てな状況です。
ありがとうございます。
コメント1件

357
NAME IS NULL[sage]   投稿日:2014/01/14 17:47:19  ID:???.net(852)
>356
SQL文のログは取って調べたのかな?
アプリ側のコードとにらめっこしていてもしょうがないよ。

[mysqld]
log=ログファイル

358
NAME IS NULL[sage]   投稿日:2014/01/15 15:57:16  ID:???.net(852)
MySQLユーザ会 MariaDB分科会だってさ
http://www.mysql.gr.jp/mysqlml/mysql/msg/16045

MySQLユーザ会って何もしない利権狙いの親父集団だろ
MariaDBの利権にも唾つけようと必死だな

tutuiって2009年にも利権確保に動いて止めたけど
http://tutui.net/
また盛り上がってきたら動くようだ

359
NAME IS NULL[]   投稿日:2014/01/17 07:45:07  ID:SEZl444W.net
[mysql5 apache cakephp2]
バッチ処理中にテーブルロックをかけており、
バッチ処理中はクライアントからのselectをエラーとして返したいです。

こちらで試したものは、
innodb_lock_wait_timeoutを設定し、selectをタイムアウトさせる
というものでしたが
タイムアウトしませんでした。
(詳細)
バッチ処理側でlock writeをしているので、
クライアント側からselectするとタイムアウトすると思われたのですが、
タイムアウトすることなく、ずっとクエリ結果を待っている。
さらに、クライアント側が結果を待っている間に、
バッチ処理側でunlockをすると、
クライアント側にphp実行時間オーバーというエラーが表示されます。

どのようにすればタイムアウト(もしくはテーブルロックを検知)できるのでしょうか?
コメント1件

360
NAME IS NULL[sage]   投稿日:2014/01/17 12:50:09  ID:???.net(852)
>359
お、まさにそれをやりたいと思ってた。
できないんでしょうか。

http://dev.mysql.com/doc/refman/5.1/ja/innodb-parameters.html#optvar_innodb_lock_wait_timeout
http://blog.kimuradb.com/?eid=877250
> これまではグローバルで全体の指定を変えなければならなかった処理がセッションで、その接続だけ変更できるようになり、かなり敷居が下がりしました。

361
NAME IS NULL[sage]   投稿日:2014/01/19 00:58:19  ID:???.net(852)
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.
テーブルロックだと、この機能効かないってよ

362
NAME IS NULL[sage]   投稿日:2014/01/19 01:14:34  ID:???.net(852)
http://dev.mysql.com/doc/refman/5.5/en/server-system-variables.htm...#sysvar_lock_wait_timeout
5.5.3以降なら、@@lock_wait_timeoutで期待した動作を実現できそうだな
コメント1件

363
NAME IS NULL[]   投稿日:2014/01/19 12:16:32  ID:hD4Sosha.net
>362
5.5.2やったわ。
試してみます。ありがとう!

364
NAME IS NULL[]   投稿日:2014/01/19 20:10:06  ID:yCiVwpc9.net
Linuxに入ってるMySQLを外部PCからリモートで操作して
ユーザ作成する場合、ホスト名はLinuxのホスト名で大丈夫ですか?
コメント2件

365
NAME IS NULL[sage]   投稿日:2014/01/19 22:08:43  ID:???.net(852)
>364
そのLinuxのプログラムでデータを取り扱うのならlocalhostでいいんじゃね。

366
NAME IS NULL[sage]   投稿日:2014/01/20 21:00:44  ID:???.net(852)
>364
それMySQLの話ちゃうやろと思いつつ、 hostsとかその手のファイル、DNS次第。

367
NAME IS NULL[sage]   投稿日:2014/01/22 00:22:45  ID:???.net(852)
MySQLチームで募集中のプリセールスエンジニアは技術が重視されるので営業関連の経験は無くてもかまいません。ご興味のある方はDM下さい。 #mysql_jp

We Are Hiring!! 業務急拡大中につきMySQLチームでは日本でプリセールスエンジニアを募集しています。
ttps
t.co / xUXSf2pO3C

お前らの出番だぞw

368
NAME IS NULL[sage]   投稿日:2014/01/22 00:42:08  ID:???.net(852)
転職めんどい

369
NAME IS NULL[sage]   投稿日:2014/01/23 02:48:16  ID:???.net(852)
業務拡大じゃなくて
人が逃げたから集めるようにみえて仕方がない

370
NAME IS NULL[sage]   投稿日:2014/01/25 01:36:12  ID:???.net(852)
Oracleの奴隷(プゲラ

371
NAME IS NULL[sage]   投稿日:2014/01/27 18:36:42  ID:???.net(852)
あるテーブルの主キーになってるserial型columnを他のテーブルで外部キーに指定しようとしてもできません。助けてください。

372
NAME IS NULL[sage]   投稿日:2014/01/29 20:58:51  ID:???.net(852)
そんなはずがない

373
NAME IS NULL[sage]   投稿日:2014/01/29 22:50:36  ID:???.net(852)
「他のテーブル」でインデックスも何も張ってないとかいうオチでは?
コメント1件

374
371[sage]   投稿日:2014/01/30 23:41:25  ID:???.net(852)
たぶん>373これでした。ありがとうございましたm(_ _ )m

375
NAME IS NULL[sage]   投稿日:2014/01/30 23:46:46  ID:???.net(852)
たぶん ってw

376
NAME IS NULL[sage]   投稿日:2014/01/30 23:48:02  ID:???.net(852)
おいおい大丈夫かよ・・・本職じゃないよな

377
NAME IS NULL[sage]   投稿日:2014/02/06 21:01:38  ID:???.net(852)
5.6で高スペックサーバでの性能が飛躍的に向上したな
PostgreSQL抜き返したかな?

378
NAME IS NULL[sage]   投稿日:2014/02/08 17:53:27  ID:???.net(852)
innodbにphpmyadminで33000件のデータをインポートしたのですが、なせか表示は31000件です。移動ボタンで最後のページまで飛ぶと33000件目を含むデータが表示されます。これは仕様なのでしょうか?それともどこかを修正すれば表示を改善出来ますか?
コメント3件

379
NAME IS NULL[sage]   投稿日:2014/02/08 18:49:02  ID:???.net(852)
>378
今DBに登録されてるデータをinto outfile してインポートしたデータと比べてみてはどうでしょう。

380
NAME IS NULL[sage]   投稿日:2014/02/08 19:41:33  ID:???.net(852)
dbに 「33000件のデータをインポートし」てselect count(*)で33000件って出たらmysql側には問題なし
php側の方がおかしいんでしょ

381
NAME IS NULL[sage]   投稿日:2014/02/09 18:26:20  ID:???.net(852)
phpがおかしい

382
NAME IS NULL[sage]   投稿日:2014/02/10 00:52:28  ID:???.net(852)
>378
phpMyAdmin で表示されるレコード数は、INFORMATION_SCHEMA というメタデータから引っ張ってきてるのですが、
InnoDB では概算値となるため、実際のレコード数と phpMyAdmin 上で表示させる値に誤差が生じます。
正確なレコード数を取得するには SELECT COUNT(1) FROM **** クエリを発行してください。

383
NAME IS NULL[sage]   投稿日:2014/02/10 11:31:04  ID:???.net(852)
>378 です。
皆さんありごとうこざいます。
innodbの仕様だったんですね。
安心しました。

384
NAME IS NULL[sage]   投稿日:2014/02/12 19:53:59  ID:???.net(852)
はじめまして、相談です。

現在140万行あるテーブルに対して、以下のようなSQLを発行しています。
SELECT word , x,y, last FROM table_test where first != 1 and prev1 = '予測' and prev2 = 'は' and prev3 = 'に' ORDER BY RAND() LIMIT 1
こちらがテーブルです。
http://www.dotup.org/uploda/www.dotup.org4869247.png
(現時点で厳しい物があるため、わざと使用していないカラムがいくつかあります)

SQL一回の結果が返ってくるまでに1.8秒ほど、大体10〜20処理するので、1分前後かかっています。またこの先テーブルはますます大きくなります。
インデックスを貼って見ましたが、あまり早くなりません。これぐらいが普通なのでしょうか。
また、他に少しでも早くする方法はありますか?

このテーブルの用途は、趣味で作っている人工無能です。
コメント3件

385
NAME IS NULL[sage]   投稿日:2014/02/12 21:03:54  ID:???.net(852)
>384
インデックスは、first, prev1, prev2, prev3 の複合インデックス張ってる?

いまの主キー、インデックスも教えてくれないとわからん。
あと1万行くらいのダンプデータがあると検証ができてなおよし。
コメント1件

386
384[]   投稿日:2014/02/12 21:48:45  ID:RkkOXYbS.net(3)
>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を初めて聞いたので検索、実行してみました
http://www.dotup.org/uploda/www.dotup.org4869541.png
恐らくindex自体は作成されていると思うのですが、うまく使えない状態です
コメント1件

387
NAME IS NULL[sage]   投稿日:2014/02/12 21:57:28  ID:???.net(852)
WHERE条件で大量のデータが返るのならORDER BY RAND()ではなく
対象件数を取得、その範囲の乱数を生成、LIMIT <乱数値>, 1とした方が早いかも。
EXPLAINでインデックスが使用されているか調べることが先だけど。

388
NAME IS NULL[sage]   投稿日:2014/02/12 22:02:04  ID:???.net(852)
>384
可能であればdescの結果か、show create table の結果を貼ってください。

389
NAME IS NULL[sage]   投稿日:2014/02/12 22:04:40  ID:???.net(852)
>386
388です。すいません、更新してませんでした。
ちょっとあっぷして頂いたデータでやってみます。

390
NAME IS NULL[sage]   投稿日:2014/02/12 22:06:23  ID:???.net(852)
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)

どう見てもインデックスがないんですが。
コメント1件

391
384[]   投稿日:2014/02/12 22:15:51  ID:RkkOXYbS.net(3)
>390
すいません、すいません…
indexってmysqlで「構造」のカラムにチェックして、インデックスをクリックすれば作れると思っていました

そしてもうデータベースにもアクセスできずにどうしていいかわからないです…orz
Fatal error: Maximum execution time of 30 seconds exceeded in C:\xampp\phpMyAdmin\libraries\session.inc.php on line 96

ちょっと勉強してきます。。。
コメント1件

392
NAME IS NULL[sage]   投稿日:2014/02/12 22:22:13  ID:???.net(852)
なるほど、確かにインデックスを設定すれば15倍はやくなりそう

393
NAME IS NULL[sage]   投稿日:2014/02/12 22:27:06  ID:???.net(852)
>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を設定するだけでも改善すると思います。

394
384[]   投稿日:2014/02/12 23:22:10  ID:RkkOXYbS.net(3)
うおー!ありがとうございます!!凄まじく早くなりました。
http://www.dotup.org/uploda/www.dotup.org4869827.png
しばらくは問題なさそうです

複合インデックス、今後も大事にします、ありがとうございました!

395
NAME IS NULL[sage]   投稿日:2014/02/13 12:37:46  ID:???.net(852)
「同時に1つのインデックスしか使えない」って仕様に引っかかりやすいよね。
複合インデックスは頭からしか使えないからカラムの順序に注意。

あとインデックスには指定したカラムに加え、主キーが入るってことも知っておくと役立つ。

396
NAME IS NULL[sage]   投稿日:2014/02/13 20:55:55  ID:???.net(852)
64bit版のRHEL6.4にバンドルされてる5.1.66で
got signal 11
のエラーがでてmysqlが再起動します。

mysqlのバグで5.1.59以降では治ってるって書いてある
サイトがあったんだけど、再発したんでしょうか?

回避する方法ってなんかあります?

397
NAME IS NULL[sage]   投稿日:2014/02/14 22:22:54  ID:???.net(852)
ちょっとヒントがほしいです
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)に貼っていて、ちゃんとに使われている。
コメント3件

398
NAME IS NULL[sage]   投稿日:2014/02/14 23:30:34  ID:???.net(852)
>397
FIND_IN_SETのカラムにインデックスを張っても効率化されないと思う。
関係者にごめんなさいして第一正規化するか、
とりあえず妥協して複合インデックスを(user, date)に張ってみる。

それからSELECT article_dateなのにGROUP BY dateとなっているが、
転記ミスでなければこれはGROUP BYのよくない使い方。
SET sql_mode = ONLY_FULL_GROUP_BY;
で動くSQLに直してからチューニングを考えたほうがよいかも。

399
NAME IS NULL[sage]   投稿日:2014/02/14 23:34:59  ID:???.net(852)
>397
別になんの不思議もないと思いますが?
インデックスを使ってレコードを絞り込めるが、
それの集計やソートにテンポラリテーブルやクイックソートが必要ってことかと。

400
NAME IS NULL[sage]   投稿日:2014/02/15 14:10:54  ID:???.net(852)
urlを保存する時って
1つのカラムに「http」削って
://〜
って保存するのと、「0=http://、1=https://、2=http://www」とかって定義して2つのカラムに
1(int) 2
0   yahoo.co.jp
って保存するのでは後者の方がいいよね?みんなの保存方法を聞きたいです。
コメント1件

401
NAME IS NULL[sage]   投稿日:2014/02/15 14:17:35  ID:???.net(852)
この後どう使いたいかにもよるんだろうけど
加工せず丸ごと保存ではだめなのか?

402
NAME IS NULL[sage]   投稿日:2014/02/15 14:18:53  ID:???.net(852)
>400
区切らない
それで節約できるのはURL読み出し時の数バイト
とんでもなく大量にhttp〜で始まるなら別だが、普通に要らない
コメント1件

403
NAME IS NULL[sage]   投稿日:2014/02/15 14:19:28  ID:???.net(852)
この後はただそのurlを表示するだけの用途で検索対象にはなりません。
少しでも容量を減らしとけばいいんじゃないかな、と思ったのでそういう工夫をしている人がいたならと思い聞きました。
TEXT型で丸ごと保存が一般的なんでしょうか?

404
NAME IS NULL[sage]   投稿日:2014/02/15 14:21:18  ID:???.net(852)
>402
ありがとうございます。
ググってもそういう話題がなかったので、普通はそういう必要はないってことなんですね。
データは千万以上はいきそうです。
コメント2件

405
NAME IS NULL[sage]   投稿日:2014/02/15 14:32:37  ID:???.net(852)
>404
はい。インデックスさえ貼れば割となんとでも

406
NAME IS NULL[sage]   投稿日:2014/02/15 14:38:16  ID:???.net(852)
>404
ありがとうございます。
innoDBで5.514なんですが先輩にTEXT型はなるべく使うなと言われてまして、varchara(255)で
日本語文字urlの場合、decodeしたりして保存したりしようと試行錯誤してます。
TEXT型で保存が一般的なんですね。参考にさせていただきます。

407
NAME IS NULL[sage]   投稿日:2014/02/15 17:07:29  ID:???.net(852)
先輩がTEXT型使うなと言っているのは分かるけど、
URLのような長い文字列を扱うなら仕方ない。
1億レコードを超えたあたりからキツくなってくる感じかな。

408
NAME IS NULL[sage]   投稿日:2014/02/16 14:28:23  ID:???.net(852)
便乗質問で悪いんだが>397のケースの場合ってmy.cnfの設定がダメってことなんかな?

409
NAME IS NULL[sage]   投稿日:2014/02/16 18:28:07  ID:???.net(852)
FLOAT型の列column_aに対して以下のSQLを発行したのですが、データが取得できませんでした。
column_aの値が15.55のレコードは存在しています。

SELECT * FROM table_a WHERE column_a = 15.55;

基本的なことで申し訳ないのですが、どこがおかしいのか教えていただけないでしょうか。
MySQLのバージョンは5.6.14です。よろしくお願いいたします。
コメント1件

410
NAME IS NULL[sage]   投稿日:2014/02/16 22:05:46  ID:???.net(852)

411
NAME IS NULL[sage]   投稿日:2014/02/16 22:33:56  ID:???.net(852)
>410
ありがとうございます!まさにこの通りでした。

412
NAME IS NULL[sage]   投稿日:2014/02/19 15:10:28  ID:???.net(852)
レンタルサーバー借りる基準にMySQLのバージョンって重要視する?
エックスサーバーが5.5.xって書いてたから借りたら金払った後に5.0.xだとわかった。
なんか腹立たしい気がするけど5.5と5.0って速度違うの?
コメント2件

413
NAME IS NULL[sage]   投稿日:2014/02/19 15:27:46  ID:???.net(852)

414
NAME IS NULL[sage]   投稿日:2014/02/19 19:35:53  ID:???.net(852)
>412
もしかして5のDBサーバー2台あるんじゃない?
接続先確かめてみたら?
コメント1件

415
NAME IS NULL[sage]   投稿日:2014/02/19 19:40:11  ID:???.net(852)
>413
>414
エックスサーバーに問い合わせたら、今アカウントを取り直したら5.5.x使えるよ、今使ってるアカウントじゃ使えないよって答えられた。
先月アカウント買ったばかりなのに。
コメント1件

416
NAME IS NULL[sage]   投稿日:2014/02/19 19:59:20  ID:???.net(852)
>415
>エックスサーバーが5.5.xって書いてたから借りた

この辺を強く出してみたら?
コメント1件

417
NAME IS NULL[sage]   投稿日:2014/02/19 20:34:38  ID:???.net(852)
>416
うーん、まだサイトは作成中だし初期費用と3ヶ月しか支払ってないからアカウント取り直そうかな。
たぶん言ってもどうにもならないと思うし。
コメント1件

418
NAME IS NULL[sage]   投稿日:2014/02/26 07:40:50  ID:???.net(852)
>417
vpsを借りたら?
コメント1件

419
NAME IS NULL[sage]   投稿日:2014/02/26 13:58:33  ID:???.net(852)
>418
余計お金掛かりそう…。
さくらは5.5が提供されたら同じアカウント内で変更できるみたいだね。
失敗したかなあ。

420
NAME IS NULL[sage]   投稿日:2014/02/26 20:16:07  ID:???.net(852)
win7home & mysql 5.5.19です
init_file = c:/stock2test.sql

stock2test.sqlの中身
delete from test.stock_master;
insert into test.stock_master
select * from stock.stock_master;

なんですが、errファイル見ると
ERROR: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
140226 20:09:52 [Note] C:\Program Files (x86)\MySQL\MySQL Server 5.5\bin\mysqld: ready for connections.
とエラーになってしまってるんです。
一応musqlコンソールでstock2test.sqlの中身を打つと正常に更新はされるんですけど…
なんで??
コメント1件

421
420[sage]   投稿日:2014/02/26 20:27:00  ID:???.net(852)
くそっ訳わからんw
insert into test.stock_master
select * from stock.stock_master;
を改行なくして
insert into test.stock_master select * from stock.stock_master;
にしたらそれだけで正常に終わった^^;
なんなんだよー w

422
NAME IS NULL[]   投稿日:2014/02/26 21:00:15  ID:2PZcjpuv.net
初めまして、検索してもどうもお目当ての記述が引っかからなかったので、ここで質問させて頂きました。

MySQLに、PHPコードと日本語テキストを含んだHTMLの記述 (以下これを「HTMLの記述A」と呼びます) を、
そのままデータベースに保存するのはやはり邪道というものでしょうか?
これがもし邪道であるとしたら、『PHPページに「HTMLの記述A」を複数並べてHTML形式で表示させる方法』として、
どのような方法が考えられるでしょうか。

私はこの「HTMLの記述A」の中のデータを入れ替えながら、
「HTMLの記述A-1」「HTMLの記述A-2」「HTMLの記述A-3」というように1ページに10件ずつ表示させていきたいと思っています。
どなたか解る方がいれば、ご教授お願い致します。
コメント1件

423
NAME IS NULL[sage]   投稿日:2014/02/26 23:14:41  ID:???.net(852)
>422
やりたいようにやればいいんじゃないかな。不具合が無くて問題無く動くなら邪道も何もないよ。
つか処理に問題があるかどうかを聞きたいならここで質問する内容ではない。

424
249[sage]   投稿日:2014/02/27 13:56:12  ID:???.net(852)
>420
改行コードとかじゃないのかね。

手元の 5.6.16(Ubuntu 12.04) だと LF でも CRLF でも大丈夫だったが、
Windows だとか Version によってダメなのかな。

それぐらいしか思いつかない。

425
NAME IS NULL[sage]   投稿日:2014/03/01 20:18:22  ID:???.net(852)
mysql自体のクエリキャッシュ機能と
javaのehcacheみたいなアプリ側でのキャッシュライブラリは
どういう基準で使い分けるんですか?
コメント1件

426
249[sage]   投稿日:2014/03/01 22:31:26  ID:???.net(852)
>425
Webサーバが2台(A,B)あったとして、
AのキャッシュにMySQLのデータの一部が乗っている場合、
Bが MySQL を更新した場合どうする?

DBに入ってるデータとしては
ほとんど更新されないけどDBなどに入れておきたい
なにかのマスターデータとかは、アプリ起動時にDBから
とってきてローカルにキャッシュ。更新されたらアプリを再起動。
それ以外はクエリキャッシュとかが多いんじゃないかね。

まぁ、クエリキャッシュはアプリによっては切ったほうが
性能がいいけどな

427
NAME IS NULL[sage]   投稿日:2014/03/02 09:41:30  ID:???.net(852)
クエリキャッシュ、最近は非推奨って言ってる人が多いね。
近年の数十〜数百コアのCPUで並列処理させると逆にパフォーマンスが落ちるとかで。

428
426[sage]   投稿日:2014/03/02 15:22:24  ID:???.net(852)
クエリキャッシュって全部のクエリで必ず最初に実行する
大きなメモリテーブルがあるようなもんで、
そのテーブルを更新しまくりなのでロックがはんぱない。

で、クエリキャッシュにそこそこ(経験上全クエリの4割以上)
ヒットするならいいけど、そうでないならば切ってしまったほうがいい。
# このへんは HW 性能や、クエリ数などによっても変わるので、
# 試す人は検証してね。query_cache_size はオンデマンドで減らすことは
# できるけど、増やすのは再起動を伴うからね。

どうしてもバッチなどで必要なら、query_cache_size は確保しといて、
query_cache_type を 「DEMAND」にして必要な物だけ
select SQL_CACHE ... として実行した方がいい。

参考:
http://dsas.blog.klab.org/archives/52021866.html

429
NAME IS NULL[sage]   投稿日:2014/03/07 09:08:33  ID:???.net(852)
Linuxで5.6入れたら今までの方法でエラーでまくりワロタw
このデフォルトでエラー吐きまくる糞仕様のmy.cnfなんとかならんかな
しかもエラーコードも全然役に立たないし。

重要な調整項目についても全然解説ねーし、
1つバージョン違うだけでオプション変更されすぎ。
ただでさえクソ長い英語のドキュメント読みなら作業してんのに報われなさすぎ。
コメント2件

430
NAME IS NULL[sage]   投稿日:2014/03/07 10:46:50  ID:???.net(852)
ポスグレは日本語のドキュメントが充実してるのに
MySQLはなんでないんだろう?

金にならないから?

431
NAME IS NULL[sage]   投稿日:2014/03/07 21:25:07  ID:???.net(852)
>429
仕事で5.6の構築手順書作ったけど、5.5からはだいぶ変わったよ。
英語のドキュメントを読んでも情報不足なんだよなー

432
NAME IS NULL[sage]   投稿日:2014/03/07 22:53:03  ID:???.net(852)
>429
いれて3分でデータベース とかってうたい文句はどうしたんだろうなw

433
NAME IS NULL[sage]   投稿日:2014/03/07 23:16:13  ID:???.net(852)
mysql本体のバージョンはすぐ判るんですけど、PCに入っているodbcドライバのバージョンは
どうやったら確認出来るんでしょうか?

434
NAME IS NULL[sage]   投稿日:2014/03/08 01:40:11  ID:???.net(852)
つーか、パッケージ名もコロコロ変えすぎ。
なにがどれに対応してるのか一覧書けや
あーイライラするー!

435
433[sage]   投稿日:2014/03/08 18:49:43  ID:???.net(852)
管理ツール→データソース(odbc)→ドライバー
で確認


以上

436
NAME IS NULL[sage]   投稿日:2014/03/09 11:32:57  ID:???.net(852)
XADataSourceにXAリカバリ失敗のバグがあるの?
コメント1件

437
NAME IS NULL[sage]   投稿日:2014/03/10 01:13:07  ID:???.net(852)
ORACLEはゆっくりとMySQLを殺そうとしてるんだろ。
Win版のセットアッププログラムとかどんどんクソになってるよ。
コメント1件

438
NAME IS NULL[sage]   投稿日:2014/03/10 14:57:27  ID:???.net(852)
公式のMySQLインストールした場合って、
phpmyadminってどこの入れたらいいの?

いつもどおりyumでremiの入れようとすると、
remi版のMySQLインスコしようとしてバッティングするんだけど。
教えてエロい人。

439
NAME IS NULL[sage]   投稿日:2014/03/10 17:00:16  ID:???.net(852)
何言ってんのかわからん
phpmyadminって普通にディレクトリに置いてブラウザからアクセスするだけでしょ?
ていうか、そんなphpで作ったやつじゃなくて普通のSQLクライアントだったらHeidiSQLとかOracleのMySQL Workbenchがオススメだけど

440
NAME IS NULL[sage]   投稿日:2014/03/10 20:05:04  ID:???.net(852)

441
NAME IS NULL[sage]   投稿日:2014/03/10 20:50:35  ID:???.net(852)
>739
ホントだ。解凍して置いて設定したら動いたわー。
これってそんな簡単な構造だったんだね。

MySQL公式のリポジトリでインストールしたMySQLってyumで依存関係めちゃくちゃになるんだね。
元々サードパティのライブラリなんかは共存するように設計されていないんだろうけど、
悩んだ悩んだ。

ありがとうエロイ人
コメント1件

442
NAME IS NULL[]   投稿日:2014/03/10 20:55:48  ID:TC9gqAVZ.net
739はどんなことを書くんだろう

443
NAME IS NULL[sage]   投稿日:2014/03/10 20:57:46  ID:???.net(852)
今年中に739までいくのかね

444
NAME IS NULL[sage]   投稿日:2014/03/10 21:06:40  ID:???.net(852)
>437
Glassfishのようにな

445
NAME IS NULL[sage]   投稿日:2014/03/10 21:35:33  ID:???.net(852)
呼んだか、139

446
NAME IS NULL[sage]   投稿日:2014/03/13 16:01:01  ID:???.net(852)
mysqlの全文検索とelasticsearch
どっちがいいですか?
コメント2件

447
NAME IS NULL[sage]   投稿日:2014/03/14 23:58:45  ID:???.net(852)
>446
groonga

448
NAME IS NULL[sage]   投稿日:2014/03/15 00:01:35  ID:???.net(852)
>446
Mroongaだった

449
NAME IS NULL[sage]   投稿日:2014/03/15 22:36:02  ID:???.net(852)
>441
おま、yumってことは、redhatかcentかfedoraか
ディストリビューション使うなら外のrpmとかソースからコンパイルとかダメだぞ
何のためのディストリビューションなのかわからん
自由にやるならfreebsdかなんかにすべし
コメント1件

450
NAME IS NULL[sage]   投稿日:2014/03/15 23:55:51  ID:???.net(852)
>449
その考えは流石に偏りすぎ。

451
NAME IS NULL[]   投稿日:2014/03/17 22:43:31  ID:DVOkasB3.net(3)
mysql> create table topics (
-> id INT UNSIGNED NOT NULL AUTO INCREMENT,
-> title VARCHAR(255) NOT NULL,
-> description VARCHAR(255) NOT NULL,
-> created_at DATETIME NOT NULL,
-> updated_at DATETIME NOT NULL,
-> PRIMARY KEY(id)
-> );

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-> id INT UNSIGNED NOT NULL AUTO INCREMENT,
-> title VARCHAR(255) NOT NULL' at line 2


どこか間違ってるかわからんのだが。。

452
NAME IS NULL[sage]   投稿日:2014/03/17 22:47:01  ID:???.net(852)
AUTO_INCREMENT

453
NAME IS NULL[sage]   投稿日:2014/03/17 22:47:16  ID:???.net(852)
アンダースコアがない
auto_increment

454
NAME IS NULL[sage]   投稿日:2014/03/17 22:59:01  ID:???.net(852)
AUTO INCREMENTと見せかけて

> use near '-> id

いやAUTOも間違ってるんだけど

455
NAME IS NULL[]   投稿日:2014/03/17 23:00:30  ID:DVOkasB3.net(3)
ごめん
これでもだめだった

create table topics (
-> id INT UNSIGNED NOT NULL AUTO_INCREMENT,
-> title VARCHAR(255) NOT NULL,
-> description VARCHAR(255) NOT NULL,
-> created_at DATETIME NOT NULL,
-> updated_at DATETIME NOT NULL,
-> PRIMARY KEY(id)
-> );


ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-> id INT UNSIGNED NOT NULL AUTO_INCREMENT,
-> title VARCHAR(255) NOT NULL' at line 2

456
NAME IS NULL[]   投稿日:2014/03/17 23:18:41  ID:DVOkasB3.net(3)
454さん
ありがとう御座います。

create table topics ( id INT UNSIGNED NOT NULL AUTO_INCREMENT,title VARCHAR(255) NOT NULL,description VARCHAR(255) NOT NULL,created_at DATETIME NOT NULL,updated_at DATETIME NOT NULL,PRIMARY KEY(id));
でできましたが、多分454さんが意図していたことと齟齬があると思います。
よければ教えて頂けないでしょうか
コメント1件

457
NAME IS NULL[sage]   投稿日:2014/03/18 00:32:15  ID:???.net(852)
>456
書き方が悪かったね
AUTO INCREMENT だけじゃなくて -> も間違ってると示したかっただけだよ

458
NAME IS NULL[sage]   投稿日:2014/03/18 00:38:21  ID:???.net(852)
なるほど mysql> も打ち込んじゃうタイプか。
新人研修のときそういう同期いたなあ

459
NAME IS NULL[]   投稿日:2014/03/18 01:02:40  ID:YYxIyd7p.net
ありがとう御座います!

460
NAME IS NULL[sage]   投稿日:2014/03/18 06:29:17  ID:???.net(852)
プログラミングの入門書で本のサンプルを行番号込で打ち込むようなもんか

461
NAME IS NULL[]   投稿日:2014/03/18 13:05:32  ID:We3J6S8O.net
【社会】厚労省の中で男が刃物取り出す 銃刀法違反の現行犯で逮捕
http://genzo.org/read/uni.2ch.net/newsplus/1389346716/

今後の犯罪傾向の予測と考察

事前面接(偽装請負)の犯罪に憤りをもつ派遣社員、非正規労働者、失業者が
比較的警備の薄い厚労省、労働局、 労基署にいく可能性がある。しかし他の可能性
を考えてみた。
事前面接中(指揮命令中)に派遣先と派遣元の担当者をターゲットにしたテロである。 派遣社員の事前面接(指揮命令)は違法であり、事前面接中(指揮命令中)に派遣社員(請負労働者)が暴れだした場合は
警察に通報できない状況となる。つまり通報すれば労基法6条違反、
職安法44条違反などの犯罪事実が報道で日本中に周知され、グッドウィル事件の再現となる可能性 が出てくる。そのため被害者である派遣先・派遣元が加害者に高額の口止め料
(影響を考慮すれば3000万円以上が妥当)を支払い隠蔽しようとする奇妙なテロがおきうるのだ。
※グッドウィル摘発のきっかけとなった事故は、現場の派遣スタッフの意図的な自傷事故だったとする説がある。

仮に、怒りに我を忘れた派遣社員が、派遣営業や面接官の小指を切り落とすような
凶行がおきた場合、小指を失った社員は転職や社会活動が難しいため、現在の会社で
は降格・減給などの奴隷的待遇を一生耐えるしかない。会社は隠蔽を優先し
派遣社員への高額の口止め料で手を打ち、被害社員はひたすら耐えるだけだ。
※非力な女性でも防犯スプレーとスタンガンで社員の抵抗を事前に抑止して小指の切断ができる可能性がある。

非正規の奴隷的待遇は、共産・民主党を支援してきた労働組合が
構成員である大企業の正社員の雇用や、給与水準をまもるための正社員保護主義の結果である。非正規や下請け正社員はその犠牲であり受給調整弁として中間搾取等をされたり労働者の権利を剥奪された。正社員の解雇ルールが立法化されれば、大企業も正社員
を増員し、違法な中間搾取、雇用・契約止めの脅し、理不尽な待遇、差別をする要因が排除されるが、これを労働組合は派遣・非正規を
犠牲にし正社員の給与水準を高くするため徹底して反対している。このため非正規
労働者が労働組合、民主党や「連合」の襲撃をする余地がある。

462
NAME IS NULL[sage]   投稿日:2014/03/20 19:28:22  ID:???.net(852)
あ、レスきてたw

CentOSでやってました。アドバイスありがとう。
既にコンパイルはあきらめてyumでインストールしましたw
最新のものに食いつくにはCentOSは向かないね。

安定ヽ(´ー`)ノマンセー

463
NAME IS NULL[sage]   投稿日:2014/03/28 19:16:16  ID:???.net(852)
mysql 5.6.17

464
NAME IS NULL[]   投稿日:2014/04/02 05:13:06  ID:RYzsF+0W.net
↓の方法で、ControllerからModelにアクセスすると
public function hoge() {
 $this->loadModel('Hoge');
 $Users = $this->Hoge->find('all');
}

このようなエラーが表示されてしまいます。
Missing Datasource
Error: Datasource class Mysql could not be found.
Datasource is not found in Model/Datasource package.

↓の中には"empty"というファイルしか入っていないのですが、
cakephp\app\Model\Datasource

やはり何かファイルが足りないのでしょうか?

465
464[sage]   投稿日:2014/04/02 05:13:46  ID:???.net(852)
ごめんなさい
すいません投稿スレ間違えました・・・

466
NAME IS NULL[sage]   投稿日:2014/04/02 08:14:45  ID:???.net(852)
レプリケーションの設定をしたいのですが、
レプリケーション先のデータベース名を違ったものにすることはできますか?
こんな感じです。
SRC:TESTDB
DST:TESTDB_REPLICA

マニュアル見てみたのですが、該当する項目がありませんでした。
バージョンは、5.6です。
コメント2件

467
NAME IS NULL[sage]   投稿日:2014/04/02 10:30:46  ID:???.net(852)
>466

statement-based の場合なら、
slave 側で trigger 使えば出来そうな気がする
# 一時的には同名テーブルにデータが存在してしまうが

mix/row-based の場合は厳しいんじゃないかな

通常の方法では難しいと思う
コメント1件

468
NAME IS NULL[sage]   投稿日:2014/04/02 12:49:59  ID:???.net(852)
Microsoft、「Microsoft SQL Server 2014」を一般公開
http://www.forest.impress.co.jp/docs/news/20140402_642417.html

469
NAME IS NULL[sage]   投稿日:2014/04/02 22:12:39  ID:???.net(852)
>467
クエリの中で、UUID()関数を使用しているため、SBRでは難しそうですね。
諦めて同名レプリケート運用にしたいと思います。
貴重なアドバイスありがとうございました。

470
NAME IS NULL[sage]   投稿日:2014/04/02 22:48:24  ID:???.net(852)
>466
--replicat-rewrite-db 試してみて
http://dev.mysql.com/doc/refman/5.6/en/replication-options-slave.h...#option_mysqld_replicate-rewrite-db

471
NAME IS NULL[sage]   投稿日:2014/04/04 19:10:13  ID:???.net(852)
MySQL 初心者で、アドバイスお願いいたします。

ID(1〜)にインデックスが張ってあり数万件あるとします。
一番大きなIDから(降順)10件取り出したい場合

SELECT * FROM `テーブル` ORDER BY `id` DESC limit 0,10

で取り出せるのですが、インデックスがあっても全文検索?になり
今後件数が増えると時間がかかりそうです。

高速に取得する一般的な方法はどうやるのでしょうか?
別のカラムを使ったり、複数のSQLになってもかまいません。
MySQLのバージョンは5.5で、言語はPHPを使ってやりとりしております。
コメント3件

472
NAME IS NULL[sage]   投稿日:2014/04/04 19:51:01  ID:???.net(852)
>471
 idが「1から連番で抜けがない」という都合のいい前提が許されるなら
where句に`id` between 1 and 10でいいと思うけど、まずダメよね。

 元のクエリはインデックスを頭からスキャンしていく(末端にいくほ
ど遅くなる)けど、テーブルのフルスキャンほど遅くはない(と思う)
ので、実際に想定される最大数のレコードを作ってみて許容できる速度
かどうか見てみるのがいいんじゃないかな。

 ちなみにうちはMariaDBだけど、10万レコード作ってlimit 99990,10で
クエリ走らせてみたら0.06秒だった。

473
NAME IS NULL[sage]   投稿日:2014/04/04 19:56:04  ID:???.net(852)
limitはlimit 1000,10とか、offsetの値が多くなればなるほど重くなる。
だからできるだけ避けた方が良い。

474
NAME IS NULL[sage]   投稿日:2014/04/04 20:07:02  ID:???.net(852)
>471
limit 10000,10みたいに真ん中取り出してもインデックス使われませんか?

475
NAME IS NULL[sage]   投稿日:2014/04/04 20:07:32  ID:???.net(852)
offsetがでかいとかなら分かるが、
SELECT * FROM `テーブル` ORDER BY `id` DESC limit 0,10
が遅いというのがわかんない
どうやって「全文検索」って判断したんだろ
コメント1件

476
471[sage]   投稿日:2014/04/04 21:02:06  ID:???.net(852)
みなさまアドバイスどうもです。

インデックスが使われているかどうかもよくわからないんですよね。
EXPLAIN で type が index だと全文検索?ですよね。
471 のSQLだとでちゃいます。

このSQLで0.1秒、今後10万件とか増えてきてもこの時間で処理されるんだろうか
心配になってお聞きしました。

>475
「ORDER BY 使うとインデックスが使われない時がある」?みたいな記事を読んでです。
コメント4件

477
NAME IS NULL[sage]   投稿日:2014/04/04 21:07:43  ID:???.net(852)
>476
explainでrowsの数が検索数だと思
コメント1件

478
NAME IS NULL[sage]   投稿日:2014/04/04 21:21:03  ID:???.net(852)
>476
typeがALLになってたらフルスキャン。

479
NAME IS NULL[sage]   投稿日:2014/04/04 21:44:24  ID:???.net(852)
>476
 typeが"ALL"ならテーブルのフルスキャン、"index"ならインデックスの
フルスキャン。ということでインデックスは一応使われてる。

 >471のクエリの場合、「インデックスの頭」からoffset+limitレコード
をなめる(limit 10000,10なら10010レコード)けど、これでインデックス
を張ってなかったらテーブルスキャンになって全レコードをなめに行く。

 それにしても先頭10件で0.1秒は遅すぎじゃないかな。

480
NAME IS NULL[sage]   投稿日:2014/04/04 21:52:20  ID:???.net(852)
>476
type=indexは通常、インデックスフルスキャンなので一般的に重いが、
order by `index_column` limit ?の場合は例外で、
インデックスの先頭もしくは後ろから数件読むだけなんで高速。
(offsetが大きくなるなら別)

> 「ORDER BY 使うとインデックスが使われない時がある」?
というのは、
select * from where `index_column` = ? order by `primary_key`
みたいなクエリのとき、通常はindex_columnのインデックスが使われるはずだが、
オプティマイザが主キーインデックスを使ってしまうケースがあって、
その場合にフルテーブルスキャンを引き起こして、洒落にならないくらいにクソ重くなることはある

481
471[sage]   投稿日:2014/04/04 21:57:11  ID:???.net(852)
>477-479
type 'index' は インデックスのフルスキャンでしたか!
インデックスが使われていることに一安心しましたw

>それにしても先頭10件で0.1秒は遅すぎじゃないかな。
phpMyAdmin上で実行しているので
実際はもっと高速なのかもしれません。

アドバイスどうもでした

482
NAME IS NULL[sage]   投稿日:2014/04/05 10:35:04  ID:???.net(852)
clustered?

483
NAME IS NULL[sage]   投稿日:2014/04/06 21:44:58  ID:???.net(852)
助けてください。
MysqlをインストールするとConfiguration OverViewでインストールが止まってしまいます。
バージョンを変えたりとかインストール場所の変更とか管理者権限で動作させたりしたましたが
必ず同じ場所で止まります。

【環境】
OS:Windows7 64bit Pro
MySQL:mysql-installer-community-5.6.17.0.msi
      mysql-5.1.73-winx64.msi
mysql-installer-community-5.5.37.0.msi

【現象】
http://www.rupan.net/uploader/download/1396787881.png
この状態から先に進みません。5分程放置しましたが全く反応がありません。


【試した事】
・MYSQLのバージョンを変更
・インストールの場所を変更
 デフォルト(Serverのインスコ先):D:\/(Dataのインスコ先)C:\ProgramData\MySQL\MYSQL_x.xxx\
変更先:(Serverのインスコ先):C:\Program Files\MYSQL\/(Dataのインスコ先)C:\Program Files\MYSQL\Data\MYSQL_x.xxx\
・msiを管理者権限で開く(コマンドプロンプトを管理者権限で開いてC:\msiexec -i [msiファイル]で開く)

どれも毎回アンインストールして、再起動してから入れなおしました。
わかる人がいましたら是非回答をお願いします。

484
NAME IS NULL[sage]   投稿日:2014/04/06 22:00:03  ID:???.net(852)
全くの当てずっぽうでゴメンだけどサービス名が既に登録されてしまっててそれが被っているとか?????

とりあえず
アンインストール失敗などで残ったWindowsのサービスを削除する方法
http://ub.blog85.fc2.com/blog-entry-287.html
でmysqlのサービスがどうなっているか確認してみたら?

ただし全く自信はないので外れていても勘弁
コメント1件

485
NAME IS NULL[sage]   投稿日:2014/04/07 00:10:07  ID:???.net(852)
なんか同様の報告は海外フォーラムで結構あがってるようなんだけど、
ざっと見た感じパスがおかしいとかそういうのが多いな。

C:\Program Files\MYSQL\/(Dataのインスコ先)C:\Program Files\MYSQL\Data\MYSQL_x.xxx\
ところでこれは何で2回ドライブレターが出てるの?こぴぺみす?
コメント2件

486
483[sage]   投稿日:2014/04/07 21:24:39  ID:???.net(852)
環境
OS:Windows 7 64bit Professional
MySQL:mysql-installer-community-5.6.17.0.msi

前準備
1. コントロールパネルからMySQL関連の情報を削除
2. C:\を全検索し"MYSQL"と"my*.ini"を検索し削除
3. CCleanでレジスストリをスキャンして削除(MYSQL関連がわんさか出る)
4. OSを再起動
5. コントロールパネル→管理ツール→サービスが存在しない事を確認

動作
1. cmd.exeを管理者として実行
2. >msiexec.exe -i D:\mysql-installer-community-5.6.17.0.msi 実行
3. Install Product -> Developer Defaultを選択
⇒ Installation Path: C:\Program Files\MySQL\
⇒ Data Path:C:\MySQL\MySQL Server 5.6\
4. 後はMySQL Server Configurationまで[Next]
5. 設定は以下の通り
⇒ConfigType:Development Machine
⇒Port:3306 Open Firewall port network access チェック入
⇒MySQL Root Password:0123456789
⇒Windows Service Name: MySQL56(デフォルト) Start the MySQL Server at System starupチェック入
⇒Run Windows Service as : Standard System Account


ああああ・・・・やっぱりあかん。

487
NAME IS NULL[sage]   投稿日:2014/04/07 21:28:16  ID:???.net(852)
>484
レスありがとうございます。
手法は違いますがレジストリからは情報を消して挑んでました。
サービスからMYSQLを起動させると1067エラーが出ますね。
>485さんの言われている通りパスのエラーのようですが・・・。

>485
Installation Path/Data Pathを分けて書いたんですが、余計にわかりにくくなってますね。
ごめんなさい。
確かにご指摘の通りパスがおかしそうなんですが、iniファイルとかを見直して見ます。

488
NAME IS NULL[sage]   投稿日:2014/04/07 21:41:56  ID:???.net(852)
msiじゃなく、これもダメ?
WindowsにMySQL(zip版)をインストールする
http://www.koikikukan.com/archives/2013/06/18-011111.php
コメント2件

489
483[sage]   投稿日:2014/04/08 00:13:20  ID:???.net(852)
>488
ありがとうございます。
早速試してみたのですが、C:\mysql\bin>mysql -u root ところで
コマンドが無いとメッセージが出ました。
正しく解凍がされてないなかったのか。もう一度やり直してみます。

http://www.rupan.net/uploader/download/1396883432.png

490
483[sage]   投稿日:2014/04/08 19:59:30  ID:???.net(852)
導入できました。
あの後も色々試しましたが結局の所msiファイルからのインストールはできませんでした。
その代わり>488さんから教えて頂いたzipからの導入方法で無事動く事を確認できました。

benchもzipで導入してMySQLエディタが動作する事を確認できました。
ありがとうございます。

491
NAME IS NULL[]   投稿日:2014/04/09 16:36:51  ID:UnA+HtrF.net
mysql-connector-cでプログラムを書いているのですが、mysql_queryでUPDATEのSQLを実行したときに
WHEREで該当するレコードがなかった場合にはエラーになるのでしょうか

実行した時にエラーが返ってくるのですが

492
NAME IS NULL[sage]   投稿日:2014/04/09 17:05:31  ID:???.net(852)
以前図書館から借りたMySQL クイックリファレンス( オライリー)
のC APIの部分をテキストでコピってたのを見ると

第2引数で指定されたSQLクエリを実行するために使用する。指定できるSQL文は1つ
のみ
バイナリデータを含むクエリの場合はmysql_real_query()関数を使用する。
実行に成功した場合は0、失敗した場合は0以外を返す

とある。

というか、
23.2.3.51. mysql_query()
http://dev.mysql.com/doc/refman/5.1/ja/mysql-query.html

にそう書いてますがなw

493
NAME IS NULL[sage]   投稿日:2014/04/10 23:24:19  ID:???.net(852)
5.6のGTIDってバグりまくりで使いものにならないってほんと?

494
NAME IS NULL[sage]   投稿日:2014/04/11 06:38:49  ID:???.net(852)
5.6.17まででだいたい直ったと思う

495
NAME IS NULL[sage]   投稿日:2014/04/11 23:53:18  ID:???.net(852)
質問です。XP、xampp1.7.4です。
ずっと正常に使えていたんですが、XPのネット接続を無効にするために
いろいろいじっていたらphpmyadminのログインが通らなくなりました。
そこで再度xamppをインストールし、localhost/phpmyadminのページを開くと、
#2002 - The server is not responding (or the local MySQL server's socket is not correctly configured)
といったエラー文が出て、そこから何をしたら良いか全然わからず困っています。
上記メッセージで検索すると出てくる解決法は前提条件が違ったり、
書いてある解決法が省略されすぎていて理解できません。
何をどうすればよいのか教えていただきたく。
コメント1件

496
NAME IS NULL[sage]   投稿日:2014/04/12 04:03:30  ID:???.net(852)
>495
PMAを使わない。

497
NAME IS NULL[sage]   投稿日:2014/04/12 11:29:08  ID:???.net(852)
レスありがとうございます。
しかしおっしゃっている意味がわかりません。
具体的にどうすればよいのでしょうか。
ちなみにログインはrootユーザで行っています。
pmaユーザでログインはしていません。

498
NAME IS NULL[sage]   投稿日:2014/04/12 12:40:27  ID:???.net(852)
MySQLのクエリくらい簡単だから直打ちしやがれ。

499
NAME IS NULL[sage]   投稿日:2014/04/12 15:06:14  ID:???.net(852)
PHPなんだから、自分でPMAだけ入れなおせばいいじゃん
セッティングスクリプトはちゃんと消しておけよ

500
NAME IS NULL[sage]   投稿日:2014/04/12 15:36:42  ID:???.net(852)
質問ですがFacebookとかのいいね!ボタンの設計ってどうなってるんでしょうか?
・webページ毎のカウントtable(url、カウント
・誰がドコにいいね!したのか記録table(ユーザー、url
を作ったとしても1兆レコードぐらい簡単に行ってしまいそうな気がするんですがmysqlは大丈夫なんですか?
それとももっと良い設計とかあるんでしょうか?
コメント1件

501
NAME IS NULL[sage]   投稿日:2014/04/12 15:45:42  ID:???.net(852)
>500
テーブル分ければ良いだけだからさ

502
NAME IS NULL[sage]   投稿日:2014/04/12 16:09:50  ID:???.net(852)
webサイト毎にtable作るってのも考えたんですが
以前ココで1000万テーブル作ったりするのは設計ミスとか言われたんで
コメント2件

503
NAME IS NULL[sage]   投稿日:2014/04/12 17:05:45  ID:???.net(852)
>502
どんな質問をして設計ミスって言われたのか知らん。
ただ言えることは、規模とか用途とかによってテーブル設計が変わる。
まあそれでも1000万テーブル作るってことは無いと思うけど。

504
NAME IS NULL[sage]   投稿日:2014/04/12 23:41:03  ID:???.net(852)
>502
テーブルパーティショニングとかそこらへんの話だろ

505
NAME IS NULL[sage]   投稿日:2014/04/15 07:04:56  ID:???.net(852)
やっとでたか

506
NAME IS NULL[sage]   投稿日:2014/04/15 13:57:42  ID:???.net(852)
SQLインジェクション対策したいんですが、

$test = $_GET['data'];

//エスケープ
$test = mysql_real_escape_string($test);

$result = mysql_query("select * from aaa where name = '{$test}'");


このようにmysql_real_escape_stringでエスケープしてれば、SQLインジェクションって防げますよね?
防げない場合どういうパターンがあるのか教えてください
コメント1件

507
NAME IS NULL[]   投稿日:2014/04/15 17:40:11  ID:+eHKgKM6.net
レプリケーション時に マスターに障害発生したら
スレーブ⇒マスター切り替え はよく目にするんだけど

その後元マスターが復旧したときに
マスター⇒スレーブ を安全におこなう方法がよくわからない
DB起動する前にマスターがいたら云々というバッチを作るの?

508
NAME IS NULL[sage]   投稿日:2014/04/15 19:44:51  ID:???.net(852)
>506
スレ違い

509
NAME IS NULL[sage]   投稿日:2014/04/15 21:29:02  ID:???.net(852)
一度死んだ奴をマスタに戻す必要があるのか?

510
NAME IS NULL[sage]   投稿日:2014/04/15 21:34:46  ID:???.net(852)
俺が見てるスレだけでも3つのスレでマルチしてるなコイツ
PHPスレで回答もらったっぽいけど

511
NAME IS NULL[sage]   投稿日:2014/04/15 21:49:47  ID:???.net(852)
普通にchange masterすればいいんじゃね
posがずれていないかとか、そもそもパラメータがACID特性を満たす設定になっているとか確認すべき項目はあるが

512
NAME IS NULL[sage]   投稿日:2014/04/17 16:43:11  ID:???.net(852)
インデックスがかかっているカラムに対してIN句を使って
データを抽出したいと思っています。

WHERE id IN (id1, id2, id3……)

ソースが雑なのと条件が増えた時に遅くなりそうなのでもう少しスマートな
方法はないものかと思っているのですが、いい処理方法はないでしょうか?

513
NAME IS NULL[sage]   投稿日:2014/04/17 16:58:02  ID:???.net(852)
id1,2,3はどうやって出してるの?
コメント1件

514
NAME IS NULL[sage]   投稿日:2014/04/17 17:15:44  ID:???.net(852)
>513
それは前画面にチェックボックスがあって、そこでチェックした時にidを仕込んで
次画面でREQUESTから取得して、配列からカンマ区切りにしてid1,id2,id3…としています。

前画面というものが条件に合致したデータを全て表示して、
そこからチェックボックスで選択したものだけに対して、次画面でデータを
再度引っ張ってきてデータ内容の詳細表示をするというような画面になっています。

IN句を使えばできてはいるのですが、何かちょっと…と思いまして。

515
NAME IS NULL[sage]   投稿日:2014/04/17 18:37:43  ID:???.net(852)
idを出す手段に規則性が無いならそうやるしかないと思うけど。
コメント1件

516
NAME IS NULL[sage]   投稿日:2014/04/17 18:43:34  ID:???.net(852)
>515
やっぱりそうですかー
このままやることにします。ありがとうございました。

517
NAME IS NULL[sage]   投稿日:2014/04/18 16:35:02  ID:???.net(852)
集計のクエリーについて質問です

例えば都道府県の名前をユニークキーとしたマスターテーブルがあり
そのキーを使用したログテーブルがあるとします 訪れた場所[北海道、千葉、東京、千葉、大阪]

それを
北海道 1
千葉 2
東京 1
大阪 1
のように複数レコードで集計したいのですが下記のように書くと

SELECT 県名, count( 県名, ) FROM ログ WHERE ログ.県名 IN ( SELECT マスター.県名 FROM 都道府県 マスター )

最初の県名[北海道]と全ての合計数[5]と1レコードで終了してしまいます
各合計を求めるにはどのようにすればよいでしょうか?

よろしくお願いします

518
NAME IS NULL[sage]   投稿日:2014/04/18 16:43:22  ID:???.net(852)
ああ・・・こういう時にGROUP BY を使うのですね
失礼しました

519
NAME IS NULL[]   投稿日:2014/04/19 14:30:09  ID:tdLBPxz0.net
デフォルトストレージエンジンがMyISAMのままなんだけど
デフォルトストレージエンジンをInnoDBに変更することに
なにかメリットはありますか?

MyISAMは使ってませんがテーブル作るときはちゃんと
InnoDB指定してるから今まで気づかなかったわ

520
NAME IS NULL[sage]   投稿日:2014/04/19 14:33:41  ID:???.net(852)
指定しなくてもInnoDBになる
それだけ
コメント1件

521
NAME IS NULL[sage]   投稿日:2014/04/19 15:22:42  ID:???.net(852)
最近のバージョンだと、システムのデータベースもInnoDBになるとかなかったっけ

522
NAME IS NULL[sage]   投稿日:2014/04/20 15:14:39  ID:???.net(852)
>520
おうサンキュウ
それくらいしかメリットないなら面倒くさいし放置しとくわ

523
NAME IS NULL[sage]   投稿日:2014/04/23 00:42:43  ID:???.net(852)
InnoDBってバックアップ取りにくくていやなんだよな

524
NAME IS NULL[sega]   投稿日:2014/04/23 15:26:30  ID:???.net(852)
みんなテーブル名は大文字小文字混ぜてる?
大文字固定? 小文字限定?

525
NAME IS NULL[sega]   投稿日:2014/04/23 18:03:58  ID:???.net(852)
何も考えずにSELECTしたときのソート順が
なぜか主キー順になってるんだけど、そういうもの?

以前は適当というか、順保証なんてなかった気がするけど
いつのまにかデフォルトソート順が仕様で決まったとかある?

526
NAME IS NULL[sage]   投稿日:2014/04/23 18:20:50  ID:???.net(852)
主キーが連番で、UPDATEしたことが無いテーブルなんだろ

527
NAME IS NULL[sage]   投稿日:2014/04/23 19:36:45  ID:???.net(852)
InnoDBでフルテーブルスキャンしたら、主キー順番になるはず
それはInnoDBが行データをクラスタ化インデックスで保持しているから。
MyISAMなら、ばらばらになるんじゃないかな
コメント1件

528
NAME IS NULL[sage]   投稿日:2014/04/23 20:58:39  ID:???.net(852)
>527
そういうことね
InnoDB使うようになって日が浅いから気づかなかったわ
ありがとう

529
NAME IS NULL[sage]   投稿日:2014/04/23 22:14:24  ID:???.net(852)
InnoDBの構造上きれいなテーブルなら、上からなめれば主キー順になるだろうけど
それはたまたまたで「主キー順になることは保証しません」ってことでしょ。
コメント1件

530
NAME IS NULL[sage]   投稿日:2014/04/23 22:47:36  ID:???.net(852)
まぁ、実務でSELECTする時にORDER BYを付けない
シチュエーションなんてほとんどないからどうでもいい話しだ

531
NAME IS NULL[sage]   投稿日:2014/04/24 00:06:22  ID:???.net(852)
>529
勘弁してくださいよ

532
NAME IS NULL[sage]   投稿日:2014/04/26 00:44:05  ID:???.net(852)
事情があり、サーバーマシンのホスト名を変更しました
mysqlでエラーが出ているので調べたところ、
pidファイルにサーバー名が使われていました。
mysql運用中にサーバーマシンのホスト名を変更したため、ファイルが壊れたようです
バッチバックアップでは修復処理も走らせているのですが、それでも修復できていませんでした
こういう壊れ方をしたファイルを修復することはできないのでしょうか?

533
NAME IS NULL[sage]   投稿日:2014/04/26 01:46:03  ID:???.net(852)
古いプロセスをkillしてから
myisamchk --safe-recover
したら、エラーなく起動しました
思わぬトラブルで青ざめました

534
NAME IS NULL[]   投稿日:2014/04/28 13:41:34  ID:yPNR6/Ul.net
InnoDBでファイルコピーのみでバックアップ取りたいけど
どのファイルをコピーしたらいいかな?

535
NAME IS NULL[sage]   投稿日:2014/04/29 08:37:28  ID:???.net(852)
/

536
NAME IS NULL[sage]   投稿日:2014/05/03 15:09:45  ID:???.net(852)
MySQLモニタ上で

mysql> ほにゃららこまんど
'>

ってなるんですが '> ってどういう時に表示されますか?
またネットで検索するときに「mysql '>」とか検索しても '> が無視されているような感じで
今後自力で検索するときにはどうやって検索すればいいでしょうか?

537
NAME IS NULL[sage]   投稿日:2014/05/03 15:22:16  ID:???.net(852)
ほにゃららこまんどの末尾に;を付けてないから

538
NAME IS NULL[sage]   投稿日:2014/05/03 15:24:09  ID:???.net(852)
;ついてます(´・ω;;;;;;;;`)

->じゃなくて
'>

539
NAME IS NULL[sage]   投稿日:2014/05/03 15:57:25  ID:???.net(852)
select 'ほにゃららこまんど

540
NAME IS NULL[sage]   投稿日:2014/05/03 19:02:19  ID:???.net(852)
だな

541
NAME IS NULL[sage]   投稿日:2014/05/04 16:24:38  ID:???.net(852)
主キー って「しゅきー」って読みでいいんでしょうか
コメント1件

542
NAME IS NULL[sage]   投稿日:2014/05/04 16:58:07  ID:???.net(852)
あるじキー
ぬしキー

543
NAME IS NULL[sage]   投稿日:2014/05/04 17:05:32  ID:???.net(852)
だいしゅきぃ

544
NAME IS NULL[sage]   投稿日:2014/05/04 19:54:21  ID:???.net(852)
だいちらい

545
NAME IS NULL[sage]   投稿日:2014/05/05 11:55:44  ID:???.net(852)
>541
http://www.google.co.jp/search?&;q=%E4%B8%BB%E3%82%AD%E3%83%BC

546
NAME IS NULL[sage]   投稿日:2014/05/12 20:57:11  ID:???.net(852)
どうしても分からないorz
社内で、情報参照のためにMySQL+PEAR+PHP+Apacheでデータベース作ったんだけど、
これが好評で社外に公表してはどうか、という話があるんだけど、これってどっかに
ライセンス料収めないとあかんの? PostgresSQLなら問題ないという話もあるけど。
WEBブラウドで使うPHPで作ったデータベースのUIが「プログラム」にあたるとすると
GPL汚染されてアウトなんだろうか。こんなんでデータ公開みたいなことになると
正直やってけませんが。別に無料で普通に使い続けていいよね?

547
NAME IS NULL[sage]   投稿日:2014/05/12 21:18:11  ID:???.net(852)
MySQL関連だと下記のことをやっていたら、すべてのプログラムのソースコードを公開する必要がある
・MySQLのプログラム自体を改造
・PHPからMySQLに接続する際、libmysqlclientを使用している場合(これは可能性があるって話だったかも)

一つ目は多分していないだろうし、二つ目はPHP5.3以降に組み込まれているmysqlndを使用すれば問題ない。

普通に使う分には問題無いと思うけど、それでも気になるならMariaDBを検討すればいいんじゃね?

548
NAME IS NULL[sage]   投稿日:2014/05/12 22:05:23  ID:???.net(852)
え、libmysql 叩いただけでGPL感染するの?

549
NAME IS NULL[sage]   投稿日:2014/05/13 00:05:53  ID:???.net(852)
インタプリタによるリンクはNG
動的リンクのみOK

PHP自体もGPLにしなければいけなくなって
Mysqlに除外条項が作られたんだよ

550
NAME IS NULL[]   投稿日:2014/05/14 12:27:31  ID:3pPFWZhr.net
alter tableで特定のテーブルのcharacter_set_clientを変更することはできますか?
コメント1件

551
NAME IS NULL[sage]   投稿日:2014/05/15 00:24:58  ID:???.net(852)
>550
できます。
コメント1件

552
NAME IS NULL[]   投稿日:2014/05/15 10:38:18  ID:7rqME05r.net
>551
ぐぐっても見つけられないのですが
やり方を教えてもらえますか

ちょっと特殊な要件でinsertやupdateは自動変換してほしくて、selectは変換しないでほしいと言った
使い方をしたいのですが
コメント2件

553
NAME IS NULL[sage]   投稿日:2014/05/15 12:50:46  ID:???.net(852)
>552
要件はしらんが、やり方はぐぐってすぐわかるんだが。
ググり方下手なんじゃないの?

554
NAME IS NULL[sage]   投稿日:2014/05/15 19:40:14  ID:???.net(852)
>552
> ちょっと特殊な要件でinsertやupdateは自動変換してほしくて、selectは変換しないでほしいと言った
> 使い方をしたいのですが
そもそもalter tableで解決するの?
保存している文字列自体の文字コードを、character_set_clientを変更することにより自動で変換したいように見える。
もちろんそんなことは出来ないけど。

555
NAME IS NULL[sage]   投稿日:2014/05/15 20:27:39  ID:???.net(852)
具体的に言うと、テレビのEPGデータがshift_jisと思われるのですが
海外のソフトを使うとテーブルがUTF8なんで文字化けしちゃうので
EPGテーブルをテーブルにinsertするときに変換して
検索するときにはUTF8で使いたいという内容です
コメント1件

556
NAME IS NULL[sage]   投稿日:2014/05/15 21:50:49  ID:NZTm8MNZP(2)
>559
それだと、期間の最後のほうにそのデータがあるとき、
期間で検索すると変なことにならない?

557
NAME IS NULL[sage]   投稿日:2014/05/15 21:55:53  ID:NZTm8MNZP(2)
ある書類に関するデータベースを作っているんだけど、
そのなかに、作成年月日を作ってあるんだけど、
昔の書類は年月日までなくて、年とか年月までとか
そんなデータしか残ってないものもあって、
そんな書類が膨大にあって、そのデータをいろいろ
検索したい。作成の年・月・日がわかっているものは、
期間検索でばさっと検索できるけど、月までしかない
もののとき、1日とか入れちゃうと、本当に1日に作成されている
ものとぐちゃぐちゃになるし、期間検索で、月の途中から
途中までで検索したいとき、うまくひっかからないことがある。
そういうのをどうすればいいかなーと悩んでます。

558
NAME IS NULL[sage]   投稿日:2014/05/15 21:02:53  ID:???.net(852)
>555
character_set_clientを変更しても解決しない。
アプリ側で文字列をUTF-8にエンコードするしかないね。

559
NAME IS NULL[sage]   投稿日:2014/05/15 21:33:02  ID:???.net(852)
ものすごい初歩的なこと聞いていい?
日付データ的なもので、年と月までのデータがあるんだけど、
これってどうするの? 今はとりあえずテキストで1999年12月
とか入れてあるけど、期間で検索できないから困ってる。
コメント1件

560
NAME IS NULL[sage]   投稿日:2014/05/15 21:37:30  ID:???.net(852)
日付に1を入れておく、とか?

561
NAME IS NULL[sage]   投稿日:2014/05/15 21:51:48  ID:???.net(852)
カラムの詳細(型とか)と最終的にやりたいことが分からないから答えようがない。
まとまったら
SQL質疑応答スレ 14問目
で聞けばいい。

562
NAME IS NULL[sage]   投稿日:2014/05/15 21:59:33  ID:???.net(852)
昔の文献のデータベースを作ってるんだけど、
昔の文献には作成年月日が詳細に書かれていないものが多くて、
月までしかわからないものは月までにしておかないと、
詳細に作成年月日がわかっているものと区別がつかなくなる。
それに下手に1日とか15日とか入れちゃうと、期間検索したときに
不都合多そうで。
コメント4件

563
NAME IS NULL[sage]   投稿日:2014/05/15 23:17:56  ID:???.net(852)
mysqlだと日付に0入れることが出来るけどね
こんな感じで
insert into dd values ('2014-05-00');
コメント1件

564
NAME IS NULL[sage]   投稿日:2014/05/16 04:38:32  ID:???.net(852)
>562
昔、悩んだことがある。
日だけ別のフィールドを作れば理論的には区別できるけど面倒。

実用的には日まで気にして検索することは少ないので、日が不明なのは15日と仮定し、オリジナルのデータを別フィールドで持つことにした。

565
NAME IS NULL[sage]   投稿日:2014/05/16 08:14:30  ID:???.net(852)
>563
それって言語によって2014-04-30と認識しちゃうとか?
ポスグレ移行も考えてるのでなるべく標準に近いデータにしたい。

どうすりゃいいんだろ。普通に年・月のデータってあると思うんだけど
ググってもわからないし。

566
NAME IS NULL[sage]   投稿日:2014/05/16 08:27:04  ID:???.net(852)
え、6桁の数字とか文字にするのはだめなの
コメント2件

567
NAME IS NULL[sage]   投稿日:2014/05/16 08:47:37  ID:???.net(852)
うちの音楽DBは不明は1日にしちゃってる

568
NAME IS NULL[sage]   投稿日:2014/05/16 13:39:56  ID:???.net(852)
>566
日付の足し算、引き算の必要がないなら、ストリングでよいですね。
期間指定して検索もできます。

569
NAME IS NULL[sage]   投稿日:2014/05/16 15:03:40  ID:???.net(852)
INTEGER でいいじゃんか。
計算も工夫すりゃそのままできるし
コメント1件

570
NAME IS NULL[sage]   投稿日:2014/05/17 07:49:28  ID:???.net(852)
>566
>569
いやそれだと日付が詳細まで入力してあるのが、、、、、と思ったけど、
10桁の数字にして月までのデータは末尾0000にすればいいのか?
期間検索できるし。日数計算できないけど、それは考えようか。
、、、、、、、とすると、今まで入力した日付データを変換するには、、、、
5000くらいデータあるけど、手修正かorz? 質問してよかったぁ。
数万になってからでは目もあてられんかったorz

数字10桁の期間検索用フィールド入力→日付データに日付型に
変換して入力(月までのデータは適当に)とかかなあ。あー面倒orz。
コメント1件

571
NAME IS NULL[sage]   投稿日:2014/05/17 10:15:29  ID:???.net(852)
俺なら精度のカラム作るな

572
NAME IS NULL[sage]   投稿日:2014/05/17 10:33:16  ID:???.net(852)
>570
まあどれがいいかは今後の運用方法によるけど
変換はUPDATE文工夫すれば数十万件なら一瞬だよ
コメント2件

573
NAME IS NULL[sage]   投稿日:2014/05/17 12:08:37  ID:???.net(852)
>572
ぜひ詳しく。

>572
ですよね〜。SQLおぼつかないから勉強しないと。
コメント1件

574
NAME IS NULL[sage]   投稿日:2014/05/17 17:56:26  ID:???.net(852)
>573
文字型では難しくて、日付型だと簡単なのは、日付の足し算、引き算だけでは?
>562 の文献データベースなら、日付の足し算とか引き算は

文字型でも期間指定で検索ができるよ。
PubDate >= "1853年07月08日" AND PubDate <= "1854年06月01日"

少し話は違うけど、「嘉永6年」ではなくて「癸丑」と干支だけ書かれた文献もあるよ。
コメント1件

575
NAME IS NULL[sage]   投稿日:2014/05/17 17:57:42  ID:???.net(852)
>574

× >562 の文献データベースなら、日付の足し算とか引き算は
○ >562 の文献データベースなら、日付の足し算とか引き算は不要では

576
NAME IS NULL[sage]   投稿日:2014/05/19 22:16:03  ID:???.net(852)
(´・ω・`)バックアップ取るとき、default-character-setにbinaryを指定するのって変?
コメント1件

577
NAME IS NULL[sage]   投稿日:2014/05/20 13:05:08  ID:???.net(852)
>576
安全

578
NAME IS NULL[sage]   投稿日:2014/05/22 01:44:14  ID:???.net(852)
バイナリーが文字コード依存じゃないからよいのでわー

579
NAME IS NULL[sage]   投稿日:2014/05/22 17:52:03  ID:???.net(852)
Mariaさまがみてる

580
NAME IS NULL[sage]   投稿日:2014/05/22 22:53:46  ID:???.net(852)
会社でmysql使ってるんだけど
Dumpしたデータをリストアしようとしたら、途中から急にメモリが跳ね上がってサービスが強制終了するんだけどなんで?
どこ調べても解決しない

581
NAME IS NULL[sage]   投稿日:2014/05/23 09:08:35  ID:???.net(852)

582
NAME IS NULL[sage]   投稿日:2014/05/26 23:37:23  ID:???.net(852)
入門本というか基礎本一冊終わらしたんですが次に買うのにオススメの本はありますか?

583
NAME IS NULL[sage]   投稿日:2014/05/27 00:07:18  ID:???.net(852)
本読むのも良いし止めろとは言わないけど、自分で実際にデータ入れて作業してみたら?
そこで、外部制約かけたりとかストアドプロシジャ作ってみるとか

それから自分で出来る言語でDBアプリ作ってみるとか

584
NAME IS NULL[sage]   投稿日:2014/05/27 12:57:46  ID:???.net(852)
phpMyAdminでインポートタブのなかのフォーマットの中にCSV load dataみたいな名前のやつがあったのに無くなってしまった
元に戻すにはどうしたらよいですか?

585
NAME IS NULL[]   投稿日:2014/05/28 01:12:02  ID:t9RKPMWp.net
books テーブル 300万件
1 book_id int(11)
2 book_title varchar(256)
3 deleted tinyint(4)

comments テーブル 50万件
1 comment_id int(11)
2 book_id int(11)
3 comment varchar(256)

で削除されていない本のコメント数を知りたいのですが
SELECT count(*)
FROM comments
LEFT JOIN books
ON comments.book_id = books.book_id
WHERE books.deleted=0
が遅すぎるので早くする方法ありませんか?
もしくは遅い原因など知りたいです。

下のでは物凄く早いのですが。。設定値とか見直すとこや他の件数の出し方あればお願いします。
SELECT comments.comment_id
FROM comments
LEFT JOIN books
ON comments.book_id = books.book_id
WHERE books.deleted=0
コメント4件

586
NAME IS NULL[sage]   投稿日:2014/05/28 05:20:49  ID:???.net(852)
>585
下のが早いならそれでいいじゃん。
count(*)してるからじゃないの?

587
NAME IS NULL[sage]   投稿日:2014/05/28 20:51:20  ID:???.net(852)
>585
books.book_idには主キーかインデックスを作ってあると思うけど、
それを大前提として、それでも遅いならディスクI/Oかなあ。
Linuxならiostat -xm 1 で r/s と %util を見て。Windowsは知らん

588
NAME IS NULL[sage]   投稿日:2014/05/28 21:19:12  ID:???.net(852)
>585
2つのクエリのEXPLAINの結果を張ってくれ
コメント3件

589
NAME IS NULL[]   投稿日:2014/05/29 00:49:09  ID:0XuSN7uc.net
返信遅くてすみません。

>588
すみません、上の結果がほしいのです。
というよりは件数がわかればなんでもいいのですが。

>588
確認してみます。

>588

上が2.2秒ほどで

id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE comments index book_id book_id 4 NULL 500509 Using index
1 SIMPLE books eq_ref PRIMARY PRIMARY 4 test.comments.book_id 1 Using where


下が0.0027 秒

id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE comments index book_id book_id 4 NULL 500509 Using index
1 SIMPLE books eq_ref PRIMARY PRIMARY 4 test.comments.book_id 1 Using where

上はSending Dataが2秒以上かかっているので
COUNTが原因なのはわかったのですが
JOINすることでtmpテーブルがつくられてしまってなど原因があるのでしょうか
数えたりしてるために遅いのでしょうか?
コメント3件

590
NAME IS NULL[sage]   投稿日:2014/05/29 01:34:48  ID:???.net(852)
>589
プラン同じだね。
下は結果がが50万行出てくるけど、50万行垂れ流すのが0.0027秒で終わるわけがない。
何らかのGUIツールを使っていて、1画面だけ表示、暗黙的にLIMIT 100とかしてない?
つまり上が遅いのではなく、下がインチキしている(最後まで処理をしていない)と言いたい。
プラン見る限り一時テーブルは作ってない。

それで個人的な感想ですけど、50万行の集計が2.2秒というのは「十分に速い」です。
明らかにI/Oはしていない。I/Oしてたら数分かかる。
もっと速くしたいなら前段にmemcachedなどを入れて結果をキャッシュしよう。

591
NAME IS NULL[sage]   投稿日:2014/05/29 01:59:43  ID:???.net(852)
あと、メンテナンスがつらくなるのでおすすめはしないけど
テーブルを非正規化してcommentsテーブルにdeletedカラムを入れてもいいと思う。
それで1秒は切れると予想。

592
NAME IS NULL[sage]   投稿日:2014/05/29 06:31:55  ID:???.net(852)
>585
なぜcountなのにgroup byがないのですか?

left join使わず、出力も1行でいいですよね?

593
NAME IS NULL[sage]   投稿日:2014/05/29 09:38:59  ID:y2apVaMgT
50万件のcountで2秒って遅い
SQL的にはleft joinではなく、inner join
commentを順番に読んでるからどうにかならないのかな?

594
NAME IS NULL[sage]   投稿日:2014/05/29 10:04:08  ID:???.net(852)
>589
booksにdeleted,book_idの複合インデックスってないのかな?
あとはleftでなくinnerかな。こっちのが普通かと

595
NAME IS NULL[sage]   投稿日:2014/05/29 19:32:40  ID:???.net(852)
>589
ちなみに、count(comments.comment_id)だとどう?

596
NAME IS NULL[sage]   投稿日:2014/05/29 21:22:03  ID:???.net(852)
つまり*は重いので、取得は1列。
他は内部結合、インデックスと。

597
NAME IS NULL[sage]   投稿日:2014/05/30 00:12:28  ID:???.net(852)
こんなんんで2秒かかってたらPostgreSQLにボロ負けなんで許せません
あっちはハッシュを使ってくるのでどう戦いますかな

598
NAME IS NULL[]   投稿日:2014/05/30 00:35:43  ID:rm2UkD9z.net
phpmyadmin 使っていて、下は自動でLIMITがかかってるので早いだけのようです。
すみません。

皆さんの意見を参考に下記に書き換えてみたのですが、速度は変わらず。。

SELECT count(comments.comment_id)
FROM comments
INNER JOIN books
ON comments.book_id = books.book_id
WHERE books.deleted=0

id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE comments index book_id book_id 4 NULL 500509 Using index
1 SIMPLE books eq_ref PRIMARY,test,book_deleted PRIMARY 4 test.comments.book_id 1 Using where

もうcountだからこの速度はどうしようもないってことでしょうか。
memcachedなどを使うなど、このSQL以外のとこで速度をあげるようにすべきでしょうか。
コメント2件

599
NAME IS NULL[sage]   投稿日:2014/05/30 01:26:26  ID:???.net(852)
> FROM (SELECT books.book_id FROM books WHERE deleted=0)
> INNER JOIN comments USING(book_id)
もEXPLAIN同じだろうし

comments.book_idには既にインデックス付けてるだろうし

↓しかないかも?
https://github.com/nekoatcafe/wiki/wiki/MySQL%EF%BC%9Acount(*)%E5%AF%BE%E7%AD%96

600
NAME IS NULL[sage]   投稿日:2014/05/30 01:31:03  ID:???.net(852)
>598
あまり期待しないでほしいのだけれど、テーブル結合順を逆にする案。
大半の本が削除されている(deleted = 0が少ない)場合はこちらの方が速い。

CREATE INDEX books_deleted ON books (deleted);
CREATE INDEX comments_book_id ON comments (book_id)

SELECT STRAIGHT_JOIN COUNT(comments.comment_id)
FROM books INNER JOIN comments ON books.book_id = comments.book_id
WHERE books.deleted = 0

601
NAME IS NULL[sage]   投稿日:2014/05/30 09:12:28  ID:???.net(852)
>598
複合インデックスはあったの?

602
NAME IS NULL[]   投稿日:2014/06/01 17:38:21  ID:otWRvot4.net
稲城市立向陽台小学校評判
http://tn.en.fishki.net/26/upload/en/201406/01/1273947/uhio5396.jpg
稲城市立向陽台小学校評判

603
NAME IS NULL[sage]   投稿日:2014/06/03 18:01:08  ID:???.net(852)
Mysql + HeidiSQLを使って社内でデータ管理をしようと考えています。
データベースを作成し、データを数千件インポートしたところまではよかったのですが
数人で編集した場合に HeidiSQL では排他制御が掛らずに上書きされてしまいます。
HeidiSQL でロックすることは可能でしょうか?

604
NAME IS NULL[sage]   投稿日:2014/06/03 19:14:07  ID:???.net(852)
その前に当然のことながらInnodbにしていて、トランザクションはかけていると。だよね?
んでその分離レベルは?
コメント1件

605
NAME IS NULL[sage]   投稿日:2014/06/03 20:46:26  ID:???.net(852)
こういうツールは複数人で同時に編集するものじゃないでしょ。
トランザクション使って排他制御したとしても、古いデータを上書きする確率は減らないと思うよ。

606
NAME IS NULL[sage]   投稿日:2014/06/03 20:56:08  ID:???.net(852)
selectしてから右クリックして編集押して編集完了して…までずーーーーっとロックしとくの?
アホかよ

607
NAME IS NULL[sage]   投稿日:2014/06/03 21:46:26  ID:???.net(852)
DBをweb化して社内でどう活用する予定ですか?
いつ誰がどのくらい処理を発生させるんですか?
phpなどを使わないなら、accessだけで十分では?
コメント2件

608
NAME IS NULL[sage]   投稿日:2014/06/04 10:17:45  ID:???.net(852)
601です。皆様ありがとうございます。
まだ勉強不足で質問するのが早かったように思います。
申し訳ありません。

>604
データタイプはInnodbです。トランザクションに関してはわかりませんので調べてみます。
分離レベルの答えになっていないかもしれませんが、テーブル単位でロック出来ればと考えていました。

>607
phpMyAdminよりも使いやすいツールを探してHeidiSQLを選びました。
複数人で同時編集には向いていないのですね。

>607
DBは顧客管理になるのですが、複数の営業所で情報を一元管理するのが狙いです。
更新作業は5〜6人が日に数件ほどかと思います。
accessでは排他制御と矛盾していますが、同時編集が出来ないと聞いていましたので
除外していました、再検討してみます。

609
NAME IS NULL[sage]   投稿日:2014/06/04 16:00:44  ID:???.net(852)
管理ツールをみんなでクライアント代わりに使うなんて
共有フォルダにエクセルのファイルおいてみんなで使うようなもんか

610
NAME IS NULL[sage]   投稿日:2014/06/04 20:38:33  ID:???.net(852)
ACCESSだと今誰が編集中とか分かるし、時間ずらせば問題はない
ただ負荷がかかるとしょっちゅうファイルぶっ壊れるから正直嫌い
でもすぐ修復できるしバックアップも簡単で使いこなせば便利で安い
もしぶっ壊れるなら、PHPとかで外注がいい、その程度なら多分安いよ
もしくはGUI内製、簡単だよ、プログラム多少分かる人いればすぐ作れる


そういやinnodbで「where句なしcountがクソ遅い」問題どうなったかな?
本来WHERE句省けるところ、GROUP BYさせてWHERE句つけても結局遅いのかな
コメント1件

611
NAME IS NULL[sage]   投稿日:2014/06/05 10:05:56  ID:???.net(852)
みんなで編集はGoogleDocsまじおすすめ

612
NAME IS NULL[sage]   投稿日:2014/06/05 10:22:27  ID:???.net(852)
>610
countが遅いって何?
コメント1件

613
NAME IS NULL[sage]   投稿日:2014/06/10 01:13:53  ID:???.net(852)
>612
innodbのcountは遅いんだよ

614
白バラ十字軍[]   投稿日:2014/06/10 15:47:48  ID:gr7v9uKn.net
今では殺人事件凶悪事件が起こると創価員かというぐらい
ネットではささやかれる時代になりました。刑務所受刑者の33%は創価員という事実は有名な話ですが、以下を見れば納得ができます

創価員が裁かれる    判決の際 法廷にこだまする「 池 田 先 生 万 歳 !」
◎以下これ以外にまだまだ創価員の犯罪多数あり、書類送検されていないだけであなたの街でも多数すさまじい事件の数が
発生しましたし、まだまだ毎日のように創価員による凶悪事件は発生しているのです!
しかもこれ以外にもTVでも報道された凶悪事件多数あり!。あなたの周りにも潜んでいる。
危険です。危機的状況です。酒鬼薔薇だけではありません。実にたくさんいるのです
あなたの街でも善良な人間のように取り繕い潜んでいるのです。

●宅間守(在日)→大阪 附属池田小学校児童殺傷 創価学会員。大量殺人犯 。8人殺害 15人が重軽傷。悪徳 朝鮮人部落出身。
(悪徳カルト)両親も創価学会員。獄中結婚したが相手の女も創価員。さすが創価員は悪徳な者を好む。あえて結婚する
とは殺人破壊者を賛美、美化、擁護する行為 2004年死刑執行 獄中結婚した女は慰謝料損害賠償払ったのか?被害者に詫びたのか?
宅間は被害者に詫びていない。つまり・・・判決の際 法廷にこだまする「 池 田 先 生 万 歳 !」ということ
日本の犯罪史上、稀に見る大事件
●畠山鈴香 (在日)→秋田県児童連続殺害事件 創価学会員。悪徳。(悪徳カルト)
●斉藤勇太 →JR取手駅前バス無差別殺傷事件 創価学会員。悪徳。(悪徳カルト)
●酒鬼薔薇聖斗→ 東慎一郎(在日)神戸の首切り魔で酒鬼薔薇聖斗 創価学会員。神戸の首切り魔。生首を校門に飾る。悪徳2人殺害。
元在日朝鮮人。両親も創価学会員(悪徳カルト)
●福田孝行(在日)→山口県母子殺害 殺害後屍姦、乳児も殺害 創価学会員。悪徳(悪徳カルト)
●阿部隆 →長野母子バラバラ殺人事件(平成元年)船橋市幼児バラバラ殺人事件 千葉県船橋市の熱心な創価学会員・A・A子さんと長男
のHちゃんが、同じく学会員である夫のA・Tに殺された。動機は生活苦。バラバラにされた死体が聖教新聞に包まれ、長野県の山中に捨
てられていた 悪徳(悪徳カルト)

615
NAME IS NULL[sage]   投稿日:2014/06/10 16:53:41  ID:???.net(852)
おまえさんはどこのカルトだい

616
NAME IS NULL[sage]   投稿日:2014/06/11 20:18:55  ID:???.net(852)
cakephpからDBへの値の送り方がわからない

617
NAME IS NULL[sage]   投稿日:2014/06/11 20:34:08  ID:???.net(852)
まずマルチやめろや

618
NAME IS NULL[sage]   投稿日:2014/06/14 10:30:07  ID:???.net(852)
すごい前のレスだけど
直接物理バックアップ取るなら隠しフォルダのprogramData内にMysqlのフォルダがあるのでその中のdataフォルダをコピーすればいい。ただし、MySQL止めた状態で。
ぐぐれば詳細出てくるはず。

619
NAME IS NULL[sage]   投稿日:2014/06/15 23:00:32  ID:???.net(852)
ENUM型を使う場合、予め明確に列挙された許容値リストを作ってテーブルを
作るみたいだけど(これはSET型も同じみたいだけど)、リストを拡張したい
時ってどうするんですか?

alterでその都度追加(出来るんですか)?

620
617[sage]   投稿日:2014/06/15 23:38:13  ID:???.net(852)
CREATE TABLE testenum(
id int primary key,
col ENUM('red','blue','yellow')
);

mysql> insert into testenum(id,col)
-> values(4,'black');
ERROR 1265 (01000): Data truncated for column 'col' at row 1


alter table testenum modify column
col enum('red','blue','yellow','black');

mysql> insert into testenum(id,col)
-> values(4,'black');
Query OK, 1 row affected (0.00 sec)


で、出来ました^^;

621
マッチ棒[sage]   投稿日:2014/06/18 15:28:57  ID:???.net(852)
こんにちは質問です
mySQLのテーブルに、Excelのように計算式をもった列はやれますか。
たとえば売上フィールドと原価フィールドをもとに、粗利フィールドには自動で値がセットされるようにしたいのです。
Web画面に表示するときにそのつど計算させると重くなるので、テーブルに持たせたいのです。
コメント2件

622
NAME IS NULL[sage]   投稿日:2014/06/18 15:31:07  ID:???.net(852)
君日本語怪しいけど大丈夫?

623
マッチ棒[sage]   投稿日:2014/06/18 17:21:35  ID:???.net(852)
まあそう言わんと

624
NAME IS NULL[sage]   投稿日:2014/06/18 17:39:58  ID:???.net(852)
>621
 INSERT/UPDATE時に計算結果を書き込むのではダメ?

625
NAME IS NULL[sage]   投稿日:2014/06/18 17:46:04  ID:???.net(852)
いや普通に演算子使えるだろ
SELECT 売上-原価 AS 粗利 FROM 商品 WHERE 商品id=1;
ってことだろ?

626
NAME IS NULL[sage]   投稿日:2014/06/18 17:47:03  ID:???.net(852)
この程度の計算で重くなるとか何を考えてるのかわからない
実際に測ったの???
重くなるのが嫌なら全パターンのhtml用意するしかないね

627
NAME IS NULL[sage]   投稿日:2014/06/18 18:12:09  ID:???.net(852)
Excelのイメージでやりたいなら、計算式付きのSELECT文をVIEWにすることだろうな。
計算のタイミングは取得時でかわらんけどな。

どうしても格納時にやりたいけど、INSERTやUPDATE文に入れられないならトリガという手もある。
コメント1件

628
マッチ棒[sage]   投稿日:2014/06/18 18:27:40  ID:???.net(852)
こんばんは。
表示するときに動的にクリエーするのが一般的なんでしょうか
ご意見ありがとうございます
コメント1件

629
NAME IS NULL[sage]   投稿日:2014/06/18 18:46:00  ID:???.net(852)
まず日本語マスターしてきてくれ
コメント1件

630
マッチ棒[sage]   投稿日:2014/06/18 19:26:59  ID:???.net(852)
まあそう言わんと

631
NAME IS NULL[sage]   投稿日:2014/06/18 20:48:52  ID:???.net(852)
>629
クライアント(プログラム)側でやるという手もあるにはある。
たとえば、クライアントがブラウザならJavaScriptで。

ただし、クライアントで計算させることの危険性については、考えないといかんけど。

632
NAME IS NULL[sage]   投稿日:2014/06/18 20:54:42  ID:???.net(852)
2つ値を送信するコストと
ただ引き算するだけのコストと
どっちのほうが大きいか

まあ、どっちも何の支障もないレベルだけど
そんな小さい小さい事考えるよりお前の汚いソース最適化しろ

633
NAME IS NULL[]   投稿日:2014/06/20 18:10:51  ID:wWH4WoGBt
performance_schema_max_cond_classesのパラメータの意味を教えて下さい。
よろしくお願いします。

634
NAME IS NULL[sage]   投稿日:2014/06/21 11:36:02  ID:???.net(852)
libmysqlclient.soを利用したアプリのライセンスは
オープンソースのライセンスにしなければいけないと聞いたのですが本当ですか?
コメント1件

635
NAME IS NULL[sage]   投稿日:2014/06/21 12:14:00  ID:???.net(852)
>634
本当です。
MariaDB Client LibraryならLGPLだから、こっちを使えばいいよ。
https://mariadb.com/kb/en/mariadb-client-library-for-c/
コメント1件

636
マッチ棒[sage]   投稿日:2014/06/21 12:30:35  ID:???.net(852)
>621の件ですけど
結局mysql側ではそういう機能ないのですかね
要は、売上額が変わっても、外注額が変わっても、自動で粗利額が変わりたいです。
レコード編集時にアップデート計算するのが普通ですけ
コメント2件

637
NAME IS NULL[sage]   投稿日:2014/06/21 14:05:08  ID:???.net(852)
select 単価 , 数量 , 単価 x 数量 as 売上金額 from 〜
で何がダメなのか教えて

638
NAME IS NULL[sage]   投稿日:2014/06/21 14:05:28  ID:???.net(852)
>636
>627 でトリガを使えばできるって書いてあるでしょ

639
634[sage]   投稿日:2014/06/21 14:06:55  ID:???.net(852)
健全でない言葉が含まれているため表示しません 内容を確認する

640
NAME IS NULL[sage]   投稿日:2014/06/21 14:20:31  ID:???.net(852)
>635
ありがとうございます
LGPLなら利用するだけならライセンスを縛られないのですね

mysqlのapiと互換性があるmariadbのクライアントライブラリを
利用する方法があるとはしりませんでした

mysqlの昔のLGPLの頃のコードと
phpのmysqlクライアントのソースから作ってるんですね

あとはlibmysqlclient.soの変わりにうまく使わせられればいい感じですね
ありがとうございます

641
NAME IS NULL[sage]   投稿日:2014/06/21 15:52:34  ID:???.net(852)
(´・ω・`)redhatもmariadbにしたんか

642
マッチ棒[sage]   投稿日:2014/06/21 16:31:34  ID:???.net(852)
こんにちはいつもありがとうございます。
案件一覧テーブルと、仕入一覧テーブルがあって
案件IDと引当IDをヒモヅケして集計しようとしています
一つの案件に、複数の仕入があります
さて、どうしたらいいんでしょうか

追伸
>636の件は、レコード編集時にそのつどクリエーすることで解決しました
コメント1件

643
マッチ棒[sage]   投稿日:2014/06/21 16:35:15  ID:???.net(852)
いま思いつく方針は、JOINくで案件ごとの仕入合計を計算済みのテーブルをつくり、
その後SELECT SUMで合計しなおすことです
けど全くやりかたがわかりませんね

644
マッチ棒[sage]   投稿日:2014/06/21 17:52:41  ID:???.net(852)
うまくいきましたありがとうございます

645
マッチ棒[sage]   投稿日:2014/06/21 17:54:19  ID:???.net(852)
案件の締め切り管理と、外注費の管理をしたいのですけど、
カスタマイズが簡単なフリースクリプトはありませんか?

646
NAME IS NULL[sage]   投稿日:2014/06/21 18:45:52  ID:???.net(852)
Excelでやれ

647
NAME IS NULL[sage]   投稿日:2014/06/21 19:57:34  ID:???.net(852)
日付でSELECTしたいんだが下記まではうまくいくが

SELECT * FROM test WHERE uriDay BETWEEN "2014-05-01" AND "2014-05-31";

この日付指定2カ所を変数で渡したいんだよ
フォームの値を入れたいわけ
けどどうしてもうまくいかん
日付が数値として処理されてるのかな
誰かサンプルを提示してくれないけ
コメント3件

648
NAME IS NULL[sage]   投稿日:2014/06/21 20:34:38  ID:???.net(852)
>647
よくやる間違いだが、sql文には日付の引用符が必要だぞ
引用符つきでストリングを渡すか、sql側に引用符をつけておく
コメント1件

649
645[sage]   投稿日:2014/06/21 20:46:21  ID:???.net(852)
>647
つまりこんな感じ

'SELECT * FROM test WHERE uriDay BETWEEN "'.$fromDate.'" AND "'.$toDate.'"';
コメント3件

650
NAME IS NULL[sage]   投稿日:2014/06/21 20:56:27  ID:???.net(852)
>649

651
NAME IS NULL[sage]   投稿日:2014/06/21 21:31:51  ID:???.net(852)
>647
該当の言語スレで聞いたほうがいいな。
内容はもっと詳細に書いた方がいい。
最低限いるのは言語名(該当言語スレに行くならいらない)と処理に失敗するコードの内容。
あと>648->649のことは忘れろ。

652
644[sage]   投稿日:2014/06/21 22:39:55  ID:???.net(852)
>649
できましたありがとう

653
NAME IS NULL[sage]   投稿日:2014/06/21 23:03:32  ID:???.net(852)
PHPがなぜクソと言われるのか、その一端が分かる流れだと思いました(小並感)

654
NAME IS NULL[sage]   投稿日:2014/06/21 23:14:46  ID:???.net(852)
PHPのdate関数で、3/31の1ヶ月前が3/3になってブチ切れた事あるわ
mysqlのdate_add、date_subはちゃんと2/28を返すのに

655
NAME IS NULL[sage]   投稿日:2014/06/21 23:33:30  ID:???.net(852)
date関数はそういう用途で使うものじゃないから。
別にそういう風にできる関数や、日付を取り扱うクラスが用意されている。
スレチだから詳細は書かないけど。
コメント2件

656
NAME IS NULL[sage]   投稿日:2014/06/21 23:57:17  ID:???.net(852)
全世界で、秒針がゼロを指すのは同時なんでしょ
どういうことなの

657
NAME IS NULL[sage]   投稿日:2014/06/22 15:54:30  ID:???.net(852)
>655
SQLインジェクションはちゃんと対策してくれよ

>655
DateTime::addとかがそういう仕様だよ

658
NAME IS NULL[sage]   投稿日:2014/06/22 16:17:44  ID:???.net(852)
すみませんがお助けください
この画像のように、2つのテーブルがあり、左の案件1つにつき複数のコストがあります。
そのコストを引き当てIDにもとづいて合計して案件テーブルに格納したいです。
よろしくおねがいします

http://i.imgur.com/4wZKQIM.jpg
コメント2件

659
NAME IS NULL[sage]   投稿日:2014/06/22 16:28:58  ID:???.net(852)
SELECT t1.案件,COLLAPSE(SUM(t2.金額),0) FROM 案件 AS t1 LEFT OUTER JOIN コスト AS t2 ON t1.ID=t2.引当ID GROUP BY 引当ID

テストはしてない
コメント5件

660
NAME IS NULL[sage]   投稿日:2014/06/22 16:30:39  ID:???.net(852)
格納か
適宜INSERTなりUPDATEなり書き換えてくれ
コメント1件

661
655[sage]   投稿日:2014/06/22 17:20:28  ID:???.net(852)
>660
格納じゃなくていいです
目的のテーブルがえらるれば

662
NAME IS NULL[sage]   投稿日:2014/06/22 18:46:44  ID:???.net(852)
>659
うーん、なぜかエラーが出てしまう。
僕が意味を理解できていないので、エラー内容もわけがわからない
コメント1件

663
NAME IS NULL[sage]   投稿日:2014/06/22 18:50:05  ID:???.net(852)
>662
俺らは理解できるから、ちょっとエラー内容教えてみ

664
655[sage]   投稿日:2014/06/22 19:05:00  ID:???.net(852)
FUNCTION db.COLLAPSE does not exist
とかいろいろエラーが出ます

665
655[sage]   投稿日:2014/06/22 19:05:50  ID:???.net(852)
なおphpMyadminのクエリ欄で試している状況です

666
NAME IS NULL[sage]   投稿日:2014/06/22 19:31:35  ID:???.net(852)
collapse() って何ですか?

667
NAME IS NULL[sage]   投稿日:2014/06/22 20:06:53  ID:???.net(852)
ごめん656だけど
COALESCEだったわ
全然違うわ
一から出直す…

668
NAME IS NULL[sage]   投稿日:2014/06/22 20:34:15  ID:???.net(852)
ごじょういって、攘夷のこと?

669
NAME IS NULL[sage]   投稿日:2014/06/22 20:59:47  ID:???.net(852)
書き込むスレ間違えてた……

670
655[sage]   投稿日:2014/06/23 00:39:24  ID:???.net(852)
>658ですけど
現状、下記のクエリでかなり近いところまできました

SELECT t1.anken , SUM(t2.金額) FROM t1 ,t2 WHERE t1.id = t2.引当id GROUP BY t2.引当id

ただし、金額がゼロの案件が表示されないです
ひきつづきアドバイスよろしくおねがいします
コメント1件

671
NAME IS NULL[sage]   投稿日:2014/06/23 00:59:52  ID:???.net(852)
>670
COALESCE

672
NAME IS NULL[sage]   投稿日:2014/06/23 07:25:03  ID:???.net(852)
COALESCEでNULLを0に変換するのも必要だけど
まず>659が外部結合で例を示してるのにそれ自分で外しちゃってるから

673
655[sage]   投稿日:2014/06/23 12:53:17  ID:???.net(852)
いまさら聞きにくいことなんですけど、
SELECTで合成されたテーブルは、実体はあるんですか?
そのテーブルに対しさらにクエリできますか
またそのテーブルはいつまで存在してるのでしょうけ?
コメント1件

674
655[sage]   投稿日:2014/06/23 14:17:08  ID:???.net(852)
たびたびお世話になります
あらためて整理して見ました
この画像のように2つのテーブルを合成したいです。
ご指導もらったコレラセでやると、コストの登録のないものが表示されません。
コストテーブルにないものは0と表示したいです。案件テーブルにある件数すべてが表示されたいということです。
よろしくご指導おねがいします
コメント2件

675
655[sage]   投稿日:2014/06/23 14:17:48  ID:???.net(852)
http://i.imgur.com/mpEF3Mg.jpg
画像はこれです
よろしくおねがします

676
NAME IS NULL[sage]   投稿日:2014/06/23 14:41:01  ID:???.net(852)
>673
SQL view でググって勉強されたらいかが?

677
NAME IS NULL[]   投稿日:2014/06/23 15:53:27  ID:Na+XSE7A.net
>659の関数名の間違いだけなおしたらいけるんじゃねーの?
なんで無視してるの?
コメント1件

678
NAME IS NULL[sage]   投稿日:2014/06/23 16:13:26  ID:???.net(852)
>674
仕事か学校の課題か知らないが、
一度データデースの入門書でも読んだ方がいい。

679
NAME IS NULL[sage]   投稿日:2014/06/23 16:16:21  ID:???.net(852)
実体を残せるのはテンポラリテーブル
http://logic.moo.jp/data/archives/11.html

UPDATE JOIN GROUP BY でググれば一発だが
まず LEFT JOIN が分からんとどうにもならん

680
655[sage]   投稿日:2014/06/23 17:26:10  ID:???.net(852)
>677
すみません>674で報告したように、コスト一覧に対応がないものつまりコスト0の案件がリストアップされないのである

681
655[sage]   投稿日:2014/06/23 17:27:12  ID:???.net(852)
なんだかんだ言って、誰もやれないのかな?

682
NAME IS NULL[sage]   投稿日:2014/06/23 17:28:54  ID:???.net(852)
お前が勝手にLEFT JOIN外したからじゃん

683
655[sage]   投稿日:2014/06/23 17:36:42  ID:???.net(852)
じゃあ>659で出来るといいたい?

684
655[sage]   投稿日:2014/06/23 17:56:16  ID:???.net(852)
結局、自力でやれました

SELECT anken.id,anken.anken_name,COALESCE(SUM(cost.cost_gaku),0)
FROM anken
LEFT JOIN cost
ON anken.id = cost.rel_id
group by anken.id

ちみらほんとに使えないインターネッツやな
コメント2件

685
NAME IS NULL[sage]   投稿日:2014/06/23 18:06:49  ID:???.net(852)
>684
>659と同じものにたどり着けたね。おめでとう

686
NAME IS NULL[sage]   投稿日:2014/06/23 18:49:32  ID:???.net(852)
何がしたかったんだコイツ

687
NAME IS NULL[sage]   投稿日:2014/06/23 18:50:14  ID:???.net(852)
>684
答えが殆ど出ていたにもかかわらず正答に辿り着くまで時間がかかったとはいえなんとか解決できてよかったね。
おめでとう。

688
NAME IS NULL[sage]   投稿日:2014/06/23 19:41:27  ID:???.net(852)
>658ってどう見ても>628>642のマッチ棒だよな?
クリエーとか言ってるし…

689
NAME IS NULL[sage]   投稿日:2014/06/24 01:36:06  ID:???.net(852)
マッチ棒wwww

690
NAME IS NULL[sage]   投稿日:2014/06/24 09:56:22  ID:???.net(852)
クリエーってその場だけのタイプミスじゃなかったのか、、、w

691
NAME IS NULL[]   投稿日:2014/06/24 11:30:39  ID:U+KduEjR.net
◎2chスレッド勢いランキングサイトリスト◎

★+ニュース板
・ 2NN (推奨サイト)
・ 2chTimes
★+ニュース板新着
・ 2NN新着
・ Headline BBY
・ unker Headline
★+ニュース板その他
・ Desktop2ch
・ 記者別一覧
★全板
・ 全板縦断勢いランキング (推奨サイト)
・ スレッドランキング総合ランキング
・ ログ速
★全板実況込み
・ 2勢 (推奨サイト)
・ READ2CH
・ i-ikioi

※ 要タイトル検索
※ 2chブラウザ併用推奨

692
NAME IS NULL[sage]   投稿日:2014/06/24 15:33:47  ID:???.net(852)
セレクトの結果、何もヒットしなかった場合、フェッチアソック時にエラーが出てしまうのをなんとかしたい。
よろしくお願いします

693
NAME IS NULL[sage]   投稿日:2014/06/24 15:53:06  ID:???.net(852)
ここはMySQLのスレ。判ってますか?

694
NAME IS NULL[sage]   投稿日:2014/06/24 15:58:32  ID:???.net(852)
そんなもん結果行数数えて0ならFetchしないようにしろよ
そもそも何?その欠陥ラッパ

695
NAME IS NULL[sage]   投稿日:2014/06/24 16:07:00  ID:???.net(852)
mysqlといえばphpか

696
689[sage]   投稿日:2014/06/24 16:33:27  ID:???.net(852)
たしかに、PHP側の問題でした
mysql_queryで結果がヌルなのでそのエラーになるようです
けどげせないのは、いままで結果がカラでもエラーは出ていなかったんですよ
条件追加したらこうなったのである
コメント1件

697
NAME IS NULL[sage]   投稿日:2014/06/24 16:37:17  ID:???.net(852)
>696
mysql_queryは非推奨だよ

nullを利用する部分を書き間違えてるんでしょ
phpの問題というよりプログラムの問題でしょ

698
NAME IS NULL[sage]   投稿日:2014/06/24 16:39:31  ID:???.net(852)
しかも情報小出しとかw

699
689[sage]   投稿日:2014/06/24 16:59:08  ID:???.net(852)
まあそう言わんと

700
NAME IS NULL[sage]   投稿日:2014/06/24 18:50:58  ID:???.net(852)
マッチ棒専用の託児所じゃねーぞここは

701
マッチ棒[sage]   投稿日:2014/06/24 18:58:28  ID:???.net(852)
いえ、気にせず他の方も質問してください。
僕もわかる範囲でアドバイスしてあげます
コメント1件

702
NAME IS NULL[sage]   投稿日:2014/06/26 00:21:00  ID:???.net(852)
>701
あなたの「わかる範囲」を教えて!
コメント1件

703
NAME IS NULL[sage]   投稿日:2014/06/26 09:21:06  ID:???.net(852)
>702
託児ありがとうございます。

704
マッチ棒[sage]   投稿日:2014/06/30 14:44:00  ID:???.net(852)
こんにちはいつもありがとうございます
さくらインターネットで、ムーバブルタイプのブログが8年ほど前からやってまして
mySQLを使ってるようですが
さくらインターネットのライト契約なのでmySQLは使えないらしいんですよ
これはどういうことでしたか
コメント1件

705
NAME IS NULL[sage]   投稿日:2014/06/30 14:50:29  ID:???.net(852)
>704
さくらのサポートにでも聞いてくれ

706
マッチ棒[sage]   投稿日:2014/06/30 14:54:21  ID:???.net(852)
いまよくみてみたらどうやらSQLiteを使ってるようです
いまいち納得できないけど

707
NAME IS NULL[sage]   投稿日:2014/07/01 16:55:46  ID:???.net(852)
そうですか

708
ポンプ[sage]   投稿日:2014/07/01 16:59:47  ID:???.net(852)
消してあげよう

709
NAME IS NULL[sage]   投稿日:2014/07/01 17:09:00  ID:???.net(852)
movableTypeはインスコ時に、MySQLかSQLiteかを選択できるんだよ

710
NAME IS NULL[sage]   投稿日:2014/07/02 21:25:54  ID:???.net(852)
質問させて下さい。mysql5.1を使っています。

dumpファイルの復元を行っているのですが、復元できません。また復元されたことを確認する方法も分かりません。

コマンドプロンプトからmysql5.1に入り、binの下で、「mysql -u ユーザー名 -pパスワード DB名 <dumpファイル名」では復元できないのでしょうか。

ご教示頂ければ幸いです。よろしくお願いします。

711
NAME IS NULL[sage]   投稿日:2014/07/02 22:45:43  ID:???.net(852)
外部制約は?

712
707[sage]   投稿日:2014/07/02 23:12:30  ID:???.net(852)
外部制約とは何ですか?

初心者なもので…申し訳ありません。
コメント1件

713
NAME IS NULL[sage]   投稿日:2014/07/02 23:27:09  ID:???.net(852)
>712
小さめのdatabaseとtableを作成して、dumpしてみる。
MySQL monitorを起動して、
source dumpfile ってやってみる。
エラーが出たらその原因を調べる。
コメント1件

714
707[sage]   投稿日:2014/07/04 22:51:14  ID:???.net(852)
>713
レスが遅くなりました。解決しました。ありがとうございます!

715
NAME IS NULL[]   投稿日:2014/07/06 21:16:06  ID:59xYQ0EB.net
質問に対して、複数の回答コメントがつく設計で
回答コメント数順のデータをとりたいのですが
データ数が多いと1秒くらいかかってしまいます。
Using temporary; Using filesort;
が出てしまっているのでこれをどうにかすれば早くなりますか?

CREATE TABLE `question_comment` (
`comment_id` int(11) NOT NULL AUTO_INCREMENT,
`question_id` int(11) NOT NULL,
PRIMARY KEY (`comment_id`),
KEY `book_id` (`question_id`)
)

SELECT question_id,
COUNT(*) AS cnt FROM question_comment
GROUP BY question_id
ORDER BY cnt DESC

explain 結果
1 SIMPLE question_comment index NULL book_id 4 NULL 500537 Using index; Using temporary; Using filesort
コメント2件

716
NAME IS NULL[sage]   投稿日:2014/07/06 21:57:34  ID:???.net(852)
>715
劇的に速くする方法はない。

1時間に1回程度このクエリを実行して、結果を別のテーブルに保存する。
それでユーザにはその集計済みの結果を見せるというのがセオリー。

ニコニコ動画のランキングとかも1時間に1回更新でしょ。
それと同じ。
コメント2件

717
NAME IS NULL[sage]   投稿日:2014/07/07 18:35:00  ID:???.net(852)
>715
book_id インデックスを総なめする必要があるから、どうしても時間がかかってしまう。
Using temporary; Using filesort; はインデックスを走査した結果を集計しているだけだから時間の割合は少ないと思う。
>716 みたいに定期的に集計するか、カウント用のテーブルを作ってプログラム側でカウンタを回すとかするしかない。
(book_id が楽々全部乗るくらいキャッシュメモリ積めば早いけど)
コメント1件

718
NAME IS NULL[]   投稿日:2014/07/07 22:09:47  ID:abW3QXYB.net
>716
>717
ありがとうございます!参考にします!!

Using temporary; Using filesort; が遅いわけではないんですね。。

楽々全部乗るくらいキャッシュメモリがあればとありますが、
設定値の変更はどこになりますか?
コメント1件

719
NAME IS NULL[sage]   投稿日:2014/07/07 22:57:00  ID:???.net(852)
クエリキャッシュについて
機能が有効かどうかの確認

SHOW VARIABLES LIKE 'have_query_cache';
"YES"なら有効

システム変数の設定
query_chache_size 41984以上 単位はbyte 0を設定すると無効に
query_chache_type 1(ON) or 2(DEMAND)
0(OFF)を設定すると無効に
1 SQL_NO_CACHEオプション付きのSELECT文を除く
すべての結果をキャッシュする
2 SQL_CACHEオプション付きのSELECT文のみキャッシュ

SHOW VARIABLES LIKE 'query_cache_%e';

720
NAME IS NULL[sage]   投稿日:2014/07/07 23:44:10  ID:???.net(852)
これsort部分のが時間かかってるっしょ
質問1個に平均20とかコメントついてるなら別だけどさ

sort_buffer_size
を増やすことでUsing temporaryを消せれば
改善するかもな

721
NAME IS NULL[sage]   投稿日:2014/07/08 21:31:09  ID:???.net(852)
GROUP BY したあと、違うカラムで ORDER BY してるんだから
Using temporary になるんじゃないの?メモリサイズ不足じゃなくて。

>718
ちなみに最後に LIMIT 0,1 をつけると早くなります?
コメント1件

722
NAME IS NULL[]   投稿日:2014/07/10 11:19:53  ID:UaAE594X.net(3)
mysqldumpコマンドで、valueリストを1つずつ改行して出力する方法を教えてください

INSERT INTO `tablename` VALUES ('001','name1'),('002','name2'),('003','name3');
ではなく
INSERT INTO `tablename` VALUES
('001','name1'),
('002','name2'),
('003','name3');
のように出力したい
コメント1件

723
NAME IS NULL[sage]   投稿日:2014/07/10 12:11:56  ID:???.net(852)
CSVエクスポートしたいってならこういうサイトが見つかったけどな

MySQL mysqldump+αでExcelで読めるCSV出力CommentsAdd Star
http://d.hatena.ne.jp/deeeki/20100720/mysqldump_csv_sjis

724
NAME IS NULL[sage]   投稿日:2014/07/10 13:40:40  ID:???.net(852)
>722
extended-insert=FALSE
つけてみて
コメント1件

725
NAME IS NULL[]   投稿日:2014/07/10 14:03:22  ID:UaAE594X.net(3)
>724
--extended-insert=falseとすると
INSERT INTO `tablename` VALUES ('001','name1'),
INSERT INTO `tablename` VALUES ('002','name2'),
INSERT INTO `tablename` VALUES ('003','name3');
となりました
これはこれで意図するものに近いかなという感じです

726
NAME IS NULL[sage]   投稿日:2014/07/10 14:18:29  ID:???.net(852)
sed とかエディタの置換併用はだめなんかの?

727
NAME IS NULL[]   投稿日:2014/07/10 14:45:24  ID:UaAE594X.net(3)
1つのテーブルに結構な量のレコードが格納されていて、
エディタだと開けない場合があるので、mysqldumpオプションで対応できるものが
存在しているかどうかについて知りたいというのがメインでした
sedとか使うのも試してみます
ありがとうございました

728
NAME IS NULL[sage]   投稿日:2014/07/10 21:23:07  ID:???.net(852)
インデックスの貼り方がイマイチわからないんです。
createdという作成日を保存するフィールドがあります。
これを元にソートする、ただしwhereによる絞り込みはしない場合はcreatedにもインデックスを貼るべきですか?

729
NAME IS NULL[sage]   投稿日:2014/07/10 22:01:49  ID:???.net(852)
クエリの内容と、頻度によるとしか・・・

730
NAME IS NULL[]   投稿日:2014/07/10 23:18:12  ID:fsYbcw2v.net
>721
返信遅くなりました!
LIMIT 0,1 つけても変わらずです!

731
NAME IS NULL[]   投稿日:2014/07/13 01:35:26  ID:sEAPG4oI.net
http://dev.mysql.com/doc/refman/5.1-olh/ja/timestamp.html
上記のサイトに、
TIMESTAMP 型の値は、格納するときに現在のタイムゾーンから UTC に変換され、取り出すときに UTC から現在のタイムゾーンに変換されます。
と書かれているのですが、
TIMESTAMPを取り出す際に、現在のタイムゾーンではなく、UTCとして取得する方法はありませんでしょうか?
SET SESSION time_zone = '+0:00';
を実行しても無理でした。
ご存知の方いらっしゃいましたら教えてください。お願いします。

732
NAME IS NULL[sage]   投稿日:2014/07/13 03:08:28  ID:???.net(852)
SET SESSION time_zone = '+0:00';
で、できたんだけど何が違うんだろう

733
NAME IS NULL[sage]   投稿日:2014/07/18 00:40:27  ID:???.net(852)
覚悟が違う

734
NAME IS NULL[sage]   投稿日:2014/07/20 10:15:01  ID:???.net(852)

735
NAME IS NULL[sage]   投稿日:2014/07/20 17:48:38  ID:???.net(852)
>734
wikipediaを参照して、引用元を読まない奴が多すぎるよな

> The use of MySQL is expected to decline from 82.1% of the 347 respondents today as 78.7% expect to be using it in 2011, declining to 72.3% 2014.

って書いてあるのに

736
NAME IS NULL[]   投稿日:2014/07/22 20:13:10  ID:???.net(852)
PHPのmysqliクラスを使ってSQLの命令を実行する場合について質問させてください。

ローカル環境ではきちんと動いていたphpが、ロリポップのサーバーにアップロードすると、
SQLをクエリする部分でエラーが出てしまいます。

ロリポップのphpMyAdminを開いたときに表示されるページの「Webサーバ」という欄に、
・PHP 拡張: mysql
と書かれているのですが、これは関係ありますでしょうか?

ロリポップの設定画面から、
「Webツール」→「PHP設定」のところで全で、phpのバージョンを5.2から5.4に変更し、
10分待っても、この「PHP 拡張: mysql」の表示は変わらないままです。

ちなみに、ローカル環境でのphpMyAdminの表示は、
PHP 拡張: mysqli
になっています。

どうすれば、mysqliでクエリできるようになるか、ご存知の方いらっしゃいましたら教えてください。お願いいたします。
コメント1件

737
NAME IS NULL[sage]   投稿日:2014/07/22 20:26:38  ID:???.net(852)
>736
ロリポップにmysqli入ってないんじゃないの?
phpinfo();で調べたら?
入ってない場合、手動でインストールできるかはわからんが。
何せレンタルサーバーだからね。

738
733[]   投稿日:2014/07/22 22:22:55  ID:???.net(852)
いま、phpinfo();で調べてみたんですが、
「MysqlI Support enabled」と出ます。
やはり、myqliクラスは使えるようになってるんですね。
あと、mysqliのコンストラクタを使用した時にデータベースへのログインも出来てるようです。
でも、サーバーにアップロードすると、ローカル環境で正常に動いていたquery()メソッドで、エラーが出てしまうみたいです。
他に何か問題点として考えられる事はありますでしょうか?

739
NAME IS NULL[sage]   投稿日:2014/07/22 22:47:55  ID:???.net(852)
エラーの内容を貼れよ
コメント1件

740
NAME IS NULL[sage]   投稿日:2014/07/23 01:34:40  ID:???.net(852)
mysqliで接続できなかったらquery以前、つまりconnectの段階でつまずいていると思うんだけど。

741
NAME IS NULL[sage]   投稿日:2014/07/23 02:09:31  ID:???.net(852)
MySQL5.5.33です。
どんなキーワードでググるべきかも分からないので教えて下さい。
以下のテーブルがあるとします。

3,渡辺
2,井上
1,田中

LOAD DATA INFILEで、5と4を記述したcsvファイルをインポートしました。
すると下に追加されて32154となるのですが、
このように上に追加するにはどうしたら良いでしょうか。

5,山田
4,鈴木
3,渡辺
2,井上
1,田中
コメント2件

742
738[sage]   投稿日:2014/07/23 02:10:49  ID:???.net(852)
すいませんスレ間違えました。無視して下さい。

743
NAME IS NULL[sage]   投稿日:2014/07/23 02:14:42  ID:???.net(852)
>741
selectするときにorder byで並び替えて取得する。
データ構造的にそうしたいという意味で聞いているのなら無理。というか無意味。

744
NAME IS NULL[sage]   投稿日:2014/07/23 10:04:26  ID:???.net(852)
どこのスレ行ったんだろうな。
どこ行っても同じこと言われると思うが。

745
NAME IS NULL[sage]   投稿日:2014/07/23 20:23:51  ID:???.net(852)
>741
既存のテーブルをdumpして、cat 5,4のcsv dump > aaa

load data infile aaa into table XXX

5と4のcsvが
4
5
の順で書かれてるならしらん

746
733[]   投稿日:2014/07/24 21:19:12  ID:???.net(852)
すみません、原因がわかりました。
データベース名に"-"が含まれていることが原因だったみたいです。
データベース名を"`"で囲むと、正常にクエリすることが出来ました。
質問に答えて下さった方々、ありがとうございます。

747
NAME IS NULL[sage]   投稿日:2014/07/24 22:14:40  ID:???.net(852)
もしかしてコボラだったの?

748
NAME IS NULL[sage]   投稿日:2014/08/05 18:22:04  ID:???.net(852)
質問なんだが、1テーブル内にずらっと何万何千と記録するのと、
テーブル別に分散させるのとでは速度とかに差は出てくるものなのか?
会員登録系のサイトを作ってるんだが、まとまったグループ内のコンテンツが登録されるのを踏まえると
SQL文で分岐するよりもはなからテーブルで分けたほうがいいのか迷ってるんだが・・・

749
NAME IS NULL[sage]   投稿日:2014/08/05 19:03:26  ID:???.net(852)
何万くらいじゃ心配いらん

750
NAME IS NULL[sage]   投稿日:2014/08/05 20:09:16  ID:???.net(852)
1行が1KBだとしても、1万行で10MB程度。
ゴミでした。

751
NAME IS NULL[sage]   投稿日:2014/08/05 22:07:07  ID:???.net(852)
じゃあ遠慮無く1テーブルで管理するわ。
データベースの種別とかで調べてたら速度云々で色々と描かれてるのを見て不安になってたんでな。

752
NAME IS NULL[sage]   投稿日:2014/08/05 23:12:41  ID:???.net(852)
データの入れ物や、データ出し入れする行為を意識しなくてよいのがDBMSのよいところの一つなのに、
それを分割してわざわざプログラム側で入れ物を区別するのも滑稽でしょ。
億・兆オーダーになったら、パーティションを検討してみるのがいいと思う。

753
NAME IS NULL[sage]   投稿日:2014/08/06 10:45:23  ID:???.net(852)
上記関連事項について質問させてください。
現在、80万レコードで90MBほどのテーブルがあり、一箇月に10万レコードのペースで増えています。
レンタルサーバー(coreserver-mini)のMySQLを利用しているのですが、
どれくらいのレコード数まで順調に動作するものでしょうか?
300万レコードくらいまで快適に動作すればいいと思うのですが、
それまで問題ないでしょうか?よろしくお願いします。

754
NAME IS NULL[sage]   投稿日:2014/08/06 20:17:16  ID:???.net(852)
問題ないよ
って言われたら信じるの?
サポートに聞きなさい
コメント1件

755
750[sage]   投稿日:2014/08/06 22:15:27  ID:???.net(852)
>754
間違いの無いご回答ありがとうございます。
全くおっしゃる通りです。
ありがとうございました。

756
NAME IS NULL[sage]   投稿日:2014/08/13 10:36:04  ID:???.net(852)
INSERT INTO `tantousya`(`adress`, `namae_kanji`) VALUE ("Tanaka@", "田中")
WHERE NOT EXISTS ( SELECT * FROM `tantousya` WHERE `tantousya`.`adress` = "Tanaka@");
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064

adressが既に使われている場合に、
データを挿入しないサブクエリを実装したのですが上手くいきません。

INSERT INTO `tantousya`(`adress`, `namae_kanji`) VALUE ("Tanaka@", "田中");
SELECT * FROM `tantousya` WHERE `tantousya`.`adress` = "Tanaka@;

二段階に分けて実行した場合は、まずデータが挿入され、
その後挿入されたデータが表示されます。

エラー内容からサブクエリの書き方に
問題があるように見受けられるのですが、
どこが悪いのか見当もつかない状態です…

757
NAME IS NULL[sage]   投稿日:2014/08/13 11:21:11  ID:???.net(852)
`adress`か `namae_kanji`で、重複を許さない指定があれば

INSERT IGNORE INTO `tantousya` (`adress`, `namae_kanji`) VALUE ("Tanaka@", "田中");
コメント1件

758
NAME IS NULL[sage]   投稿日:2014/08/13 11:26:49  ID:???.net(852)
adressが気になるw
コメント1件

759
753[sage]   投稿日:2014/08/13 11:38:40  ID:???.net(852)
>757
プライマリ、ユニークキーを指定というのは至極全うな意見だと思いますが
今回はサブクエリで制御を考えています。
サブクエリの勉強中です。

>758
adress フランス語で書いちゃったわけではなくタダのスペルミスorz

760
NAME IS NULL[sage]   投稿日:2014/08/13 11:49:42  ID:???.net(852)
INSERTにNOT EXISTSは直接使えないので、
一旦NOT EXISTSを条件にSELECTし、レコードがない場合に
INSERTすると言うように書かないと無理じゃないかな
コメント1件

761
753[sage]   投稿日:2014/08/13 13:05:12  ID:???.net(852)
>760
なるほど、そういう制限があるんですね。
サブクエリの解説サイト等見直したいと思います。
ありがとうございました。
コメント1件

762
NAME IS NULL[sage]   投稿日:2014/08/13 21:39:34  ID:???.net(852)
>761
こんな感じかw

INSERT INTO `tantousya` SELECT 'Tanaka@' AS `adress`, '田中' AS `namae_kanji` FROM DUAL
WHERE NOT EXISTS (SELECT * FROM `tantousya` WHERE `tantousya`.`adress` = 'Tanaka@');

763
NAME IS NULL[]   投稿日:2014/08/16 14:46:49  ID:CDUM23fr.net
>200 >201
先生たち!それが出来ないんですよ('_;)

がんばって

select name_no,sum(rating_point)as vote,
(select sum(rating_point) from rating_tb WHERE DATE_ADD(date, INTERVAL 5 HOUR) > NOW())as active
from
rating_tb
group by name_no;

上のようにやってみたら、activeが合計値が出て個別にならなくて、初心者で全然ここから打開出来ないです;;
↓こんな風にしか出来ない初心者です。お助けください。お願い致します。
+---------+------+--------+
| name_no | vote | active |
+---------+------+--------+
| 1 | 232 | 47 |
| 2 | 199 | 47 |
| 6 | 107 | 47 |
| 9 | 87 | 47 |
| 10 | 89 | 47 |
| 11 | 95 | 47 |
| 12 | 46 | 47 |
| 13 | 42 | 47 |
| 14 | 27 | 47 |
| 15 | 26 | 47 |
| 16 | 17 | 47 |
| 17 | 19 | 47 |
| 19 | 6 | 47 |
| 20 | 12 | 47 |
| 23 | 6 | 47 |
| 24 | 8 | 47 |
| 25 | 7 | 47 |
| 27 | 9 | 47 |
| 34 | 1 | 47 |
| 35 | 7 | 47 |
| 45 | 3 | 47 |

764
NAME IS NULL[sage]   投稿日:2014/08/16 14:47:20  ID:???.net(852)
↑ 間違えて投稿してしまいました。お詫びいたします

765
NAME IS NULL[]   投稿日:2014/08/16 18:51:19  ID:JcjcV7DkE(3)
xampp

766
NAME IS NULL[]   投稿日:2014/08/16 18:57:32  ID:JcjcV7DkE(3)
初心者ですみません。xamppをインストールしてうまく起動しなかったので
OSからインストールし直したのですが、うまくいきません。
xamppのコントロールパネルからStartボタンを押下したらrunning
にはなるのですが、mysqlのステータスは「停止」のままです。
どなたか教えいただけませんか?
よろしくお願いいたします。

■OS windows8
■xampp 1.8.3
■mysql 5.5.9

767
NAME IS NULL[]   投稿日:2014/08/16 19:06:38  ID:JcjcV7DkE(3)
↑先ほど書いたものですけど、
セキュリティーは「MySQLサーバは起動していないか、ファイアウォールでブロックされています!」
と記述されてます。

768
NAME IS NULL[sage]   投稿日:2014/08/18 01:33:19  ID:???.net(852)
サブクエリでなく case when でやればいい

769
NAME IS NULL[]   投稿日:2014/08/20 10:26:28  ID:4cvw8JQq.net
保守

770
NAME IS NULL[sage]   投稿日:2014/08/20 15:36:50  ID:???.net(852)

771
NAME IS NULL[sage]   投稿日:2014/08/23 08:23:32  ID:???.net(852)
au氷水ディレクター戦争タイステーキ万国ニューヨークブカ牛肉直輸出制限業者議論病院雇用市議しょうゆダシマクッロスさむらい山雪光金ガンダム風ミックドラ社員あかうんとパズ豚骨のり塩肉マンつばめの巣担々麺野菜炒めラーメン

au氷水ディレクター戦争タイステーキ万国ニューヨークブカ牛肉直輸出制限業者議論病院雇用市議しょうゆダシマクッロスさむらい山雪光金ガンダム風ミックドラ社員あかうんとパズ豚骨のり肉マンつばめの巣塩担々麺野菜炒めラーメン

au氷水ディレクター戦争タイステーキ万国ニューヨークブカ牛肉直輸出制限業者議論病院雇用市議しょうゆダシマクッロスさむらい山雪光金ガンダム風ミックドラ社員あかうんとパズ豚骨のり肉マンつばめの巣塩担々麺野菜炒めラーメン

ニンニクヤーフォー低額土地NHK名古屋遅延電池切れ福岡損保新規駐車近代ゲームフジワイプ転職提案ラーメン
abk公式漏洩安保険王なにあげてんだよ?「わー!ふーう?」↓↓★★↓↓宿題通調印鑑カウントダウン息子議員国会大学生

772
NAME IS NULL[sage]   投稿日:2014/08/23 08:29:23  ID:???.net(852)
お大事に
つ お薬

773
NAME IS NULL[sage]   投稿日:2014/08/24 11:30:58  ID:???.net(852)
質問させてください。

大したアクセス数もないのに1ページを表示するのに1秒から2秒ほどかかっています。
DBサーバーとアプリケーションサーバーを切り分けると早くなる聞いたので、さくらVPSのローカル接続を利用し試しましたが、やはり遅いままです。

ボトルネックはMySQLサーバーの設定もしくはクエリそのものにあるのかもしれません。。。

さくらVPS SSDプラン
メモリ2GBで、DBはMySQL5.1の場合
以下のmy.cnfの設定は適正だと言えますか?
これを修正することで早く出来るようであれば教えていただけませんか?

[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
skip-external-locking
key_buffer_size = 512M
table_cache = 256
tmp_table_size = 256MB
join_buffer_size = 1M
thread_cache = 8
thread_concurrency = 8
thread_cache_size = 60
query_cache_size = 32M
max_connections = 100
max_allowed_packet = 1M
table_open_cache = 256
sort_buffer_size = 4M
net_buffer_length = 8K
read_buffer_size = 1M
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
character_set-server=utf8
innodb_buffer_pool_size=384M
innodb_log_file_size=128M
slow_query_log=ON
slow_query_log_file=mysql-slow.log
long_query_time=1

774
NAME IS NULL[sage]   投稿日:2014/08/24 11:31:36  ID:???.net(852)
続き(長々となってすみません)

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash
default_character_set=utf8

[myisamchk]
key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout


775
NAME IS NULL[sage]   投稿日:2014/08/24 12:00:26  ID:???.net(852)
ワードプレス?
innodb_buffer_pool_sizeは総メモリの7〜8割割り当てろとか言われてる
key_buffer_sizeは64Mぐらいになりそう

sort_buffer_sizeとかが多すぎる
スレッドバッファで調べてみるといい

mysqltuner使ったらだいたい教えてくれる
後エラーログに色々出てるはずだからそれを見る
コメント2件

776
NAME IS NULL[sage]   投稿日:2014/08/24 12:05:18  ID:???.net(852)
>775
いえRuby on Railsというフレームワークを使って自分で1から組んでいます

777
NAME IS NULL[sage]   投稿日:2014/08/24 12:10:04  ID:???.net(852)
>775
ありがとうございます

それとMySQL5.1なんですが5.5に上げておいたほうが利点とかありますか?

MySQLTunerは5.5以降の対応みたいですね

778
NAME IS NULL[sage]   投稿日:2014/08/24 12:41:40  ID:???.net(852)
MySQLTunerは5.1で使えるよ
http://mysqltuner.com/

新しいバージョンのほうが当然性能は向上してるし
問題ないなら5.5/6使う方がいいと思う
コメント1件

779
NAME IS NULL[sage]   投稿日:2014/08/24 13:19:13  ID:???.net(852)
>778
ありがとうございます
試してみます

780
NAME IS NULL[sage]   投稿日:2014/08/24 13:25:30  ID:???.net(852)
5.5より5.6
5.7はたいした変更ないけど5.5と5.6はクエリによっては大違いだぞ

781
NAME IS NULL[sage]   投稿日:2014/08/26 14:31:57  ID:???.net(852)
MySQLで大量のデータ計算させるのに適切なアプリケーションに迷っておりアドバイスあれば教えて下さい。
以前Accessに株価データ入れてVBAで分析みたいなことやってたんですがレコード数が150万ぐらいになるので、MySQL5.6+Access2010に作り直してみたんです。
・ODBC接続してリンクテーブルをAccess内に張り、それに対して操作
・VBAのADOでMySQLテーブルをレコードセットして、それに対して操作
・Accessで計算し、結果をSQL文にしてMySQLに投げる操作
・Accessで計算し、結果をローカルテーブルに書いて最後にテーブルを転送
などやってみたんですが、どれもAccessローカルテーブルに直接操作するよりパフォーマンスが落ちます。
MySQLのクエリ自体は高速なのですがInsert/UpdateをODBC経由やADO接続でやりとりするところがボトルネックみたいで。
PHPとかRubyとかで処理するとそういう問題は少ないのでしょうか。
コメント2件

782
NAME IS NULL[sage]   投稿日:2014/08/28 00:15:59  ID:???.net(852)
>781
すくないよ
エンジニアに金はらって作ってもらいな
コメント1件

783
NAME IS NULL[]   投稿日:2014/08/28 00:55:32  ID:joeF3rjv.net
結果セットが大量すぎてコピーが遅いならわかるけど
更新処理が遅いのはよくわからんな。
ADOならちゃんとパラメータのバインドとか使えば
そうそう遅くならない
コメント1件

784
NAME IS NULL[sage]   投稿日:2014/08/28 01:20:19  ID:???.net(852)
>781
どこにボトルネックがあるのかそれだけじゃ判断つかないし、
まずはマシン構成と、AccessだけのときとMySQLを使ったときで
どのくらい差があるのか、定量的に示すべき。
コメント1件

785
775[sage]   投稿日:2014/08/30 18:45:50  ID:???.net(852)
>782
自分が素人なのは分かってますが、金出すほど複雑なことじゃないしあとで我流の指標とか色々いじりたいのよね・・・

>783
それはストアドプロシージャ使ってVBAからはCallするだけって感じでしょうか?

>784
やっていることを単純化すると下記みたいになります。
下記のプログラムでconnectionをMySQLにして1分43秒、 レコードセットOpenするところのcnnを CurrentProject.Connectionに変えてAccess内のテーブルにすると4秒でした。
銘柄コード1301〜1999の149,257レコードに対する更新です。
PC一台(i7-3770@3.4GHz, 16GB, Win7 64bit)にAccess2010とMySQL5.6インストールしています。
indexやprimary keyは同じAccess内とMySQL内のt_dbに対するUpdateですが、Conndection変えるだけで20倍以上の差になって驚いています。

t_dbテーブルはある銘柄のある日で特定の1レコードを表し、フィールドは[終値]と[id]と[前日終値]があり、[終値]と[id]は既に入力済み。ここでは[前日終値]を埋めていきたい。
idは銘柄コード4桁+営業日コード5桁で、ソートすると銘柄順、営業日順になります。(同一銘柄−例えば1301だと、130100001,130100002,130100003・・・と営業日順に連番になり、銘柄が変わると数字が飛びます)
idでソートしたt_dbを順番にmovenextしながら、前日のレコードにあった終値を[前日終値]フィールドにUpdateしてます。

Sub test()
Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim preDayID As Long
Dim preClosePrice As Double
Dim sqlStr As String
cnn.Open "Driver={MySQL ODBC 5.3 Unicode Driver};" & _
"Server=hogehoge;" & _
"Database=hogeDB;" & _
"Uid=hoge;" & _
"Pwd=hage"
strSQL = "SELECT 終値, id, 前日終値 FROM t_db where id between 130100000 and 200000000 order by id"
rst.Open strSQL, cnn, adOpenForwardOnly, adLockPessimistic

Do Until rst.EOF
If rst("id") = preDayID + 1 Then
rst.Update "前日終値", preClosePrice
End If
preDayID = rst("id")
preClosePrice = rst("終値")
rst.MoveNext
Loop
rst.Close
cnn.Close
End Sub
コメント2件

786
NAME IS NULL[sage]   投稿日:2014/08/30 19:44:19  ID:???.net(852)
ADOでの更新が遅い理由は判らないけど(ODBCの設定、カーソルタイプ、ロックタイプのどれかが影響?)
提示された処理であればSQL一発で大丈夫かと

UPDATE t_db a
INNER JOIN t_db b ON a.id = b.id + 1
SET a.前日終値 = b.終値
WHERE id BETWEEN 130100000 AND 200000000
コメント2件

787
780[sage]   投稿日:2014/08/30 19:45:47  ID:???.net(852)
ごめん、最後エイリアスつけ忘れ
WHERE id BETWEEN 130100000 AND 200000000

WHERE a.id BETWEEN 130100000 AND 200000000

788
NAME IS NULL[sage]   投稿日:2014/08/30 21:38:04  ID:???.net(852)
>785
15万件弱のレコードをMySQLからAccessに取り込んで、1件ずつupdateループ回してるってことか。
更新したいだけならMySQL側だけで完結するように >786 のやり方が良いと思われ。

789
NAME IS NULL[sage]   投稿日:2014/08/30 21:45:54  ID:???.net(852)
>785
ループで毎回updateではなく、抜けたあとでUpdateBatchとかダメだろうか?
http://msdn.microsoft.com/ja-jp/library/cc364237.aspx
コメント1件

790
NAME IS NULL[]   投稿日:2014/08/30 21:56:05  ID:39pGGgY4.net
SQL1発で済むならそれが一番だが、無理なら
http://blog.livedoor.jp/it_ikiru/archives/50422207.html
みたいなやり方てバインド使った方がいいよ
レコードセットは内部的にコピー持ってSQL発行してるだけだから
コメント1件

791
NAME IS NULL[sage]   投稿日:2014/08/31 01:22:59  ID:???.net(852)
ところでコードを貼るならgist使わね?
gistならログイン不要で匿名でスニペット貼り付けられる。
こっちに貼ると行数制限やらタブが消えるやらの問題があるので見づらいし使いづらい。
ちなみに先のコードならこんな感じ。
https://gist.github.com/anonymous/9c2a408bab050f89469d
例示用に勝手に使ってすまぬ >779
コメント1件

792
NAME IS NULL[sage]   投稿日:2014/08/31 04:32:01  ID:???.net(852)
質問させてください

phpMyAdminで MySQLのデータベースを管理しています。

yumで新しめのphpMyAdminに入れ替えました。

それ以降というもの
20テーブルほど、それぞれ20MB〜100MBはあり合計270MBとなっています。

しかし、データベースをまるごとエクスポートすると8MBのサイズになりダウンロード完了と出てしまいます。

なぜでしょうか?
コメント1件

793
775[sage]   投稿日:2014/09/01 10:29:36  ID:???.net(852)
775,779の件みなさんありがとうございます。
>786-782
4秒でした。圧倒的に早いですね。これならAccess単独のVBAループ処理に匹敵できます。
>789
UpdateBatch1分20秒でした。レコードセットアップデートのループより2,3割早かったです。
非接続にしたレコードセットのループ部分は1秒無いぐらいなのにUpdateBatchでほとんどの時間食ってました。
>790
パラメーターマーカーの方法も1分20秒でした。
>791
掲示板でコード示すとき便利そうですね。今後使わせていただきます。

他にも色々やったのですが、ループ毎にUpdate文を文字列で組み立ててcnn.Executeするやり方で1分10秒ほどなのがせいぜいでした。
シーケンシャルにカーソル動かしながら処理していくプログラミングに慣れてたのでSQL一発文組み立てるの苦手だったのですが、これだけ圧倒的パフォーマンスだと使わざるを得ないですね。
なんとかその方向でやってみます。

794
NAME IS NULL[sage]   投稿日:2014/09/01 12:44:14  ID:???.net(852)
>792
環境やらバージョンやら、具体的にどういう操作を
したのかやら、書かないと誰もわかんねえよ

795
NAME IS NULL[sage]   投稿日:2014/09/01 22:52:44  ID:???.net(852)
mysql 5.5.21
select 〜 into outfile でテーブルの内容をファイルに書き出せはしますが、その時に
カラム名をヘッダとして先頭に出す…なんてことは出来ないんでしょうか

796
NAME IS NULL[]   投稿日:2014/09/01 23:10:22  ID:EfQ/kLTT.net

797
NAME IS NULL[sage]   投稿日:2014/09/01 23:34:35  ID:???.net(852)
>796
あぁそういう手があったか
ありがとうございます

798
NAME IS NULL[sage]   投稿日:2014/09/02 00:51:32  ID:???.net(852)
3

799
NAME IS NULL[sage]   投稿日:2014/09/12 22:35:04  ID:???.net(852)
mysql 5.6.20

mysqldumpで個々のデータベースのバックアップを取ろうとしているのですが、

mysqldump performance_schema -u root -p > c:/pf.sql

performance_schemaとinformation_schemaで以下のエラーが出ます

mysqldump : Got error: 1142 SELECT, LOCK TABLES command denied to
user 'root'@'localhost' for table 'accounts' when using LOCK TABLES

回避しつつバックアップを取る方法とかってありますか?
ちなみに出来たファイルの中身はコメントだけでした

800
NAME IS NULL[sage]   投稿日:2014/09/12 23:05:15  ID:???.net(852)
ORACLEにはPL/SQLにPACKAGEがありますが、それに相当する機能ってありますか?
ストアド使わないシステムを作ったこと無いんですが、MySQLはストアド使わなくても速いですか
コメント1件

801
793[sage]   投稿日:2014/09/14 11:43:43  ID:???.net(852)
自己解決

オプションで -x を付与して出来ました

-x, --lock-all-tables
Locks all tables across all databases. This is achieved
by taking a global read lock for the duration of the
whole dump. Automatically turns --single-transaction and
--lock-tables off.

802
NAME IS NULL[sage]   投稿日:2014/09/14 13:25:14  ID:???.net(852)
>800
> ORACLEにはPL/SQLにPACKAGEがありますが、それに相当する機能ってありますか?
http://dev.mysql.com/doc/refman/5.6/en/faqs-stored-procs.html#qandaitem-A-4-1-8

> ストアド使わないシステムを作ったこと無いんですが、MySQLはストアド使わなくても速いですか
Oracleでもそうだが、ストアドプロシージャ使うと速くなるという幻想をまず捨てるべき。
システム構成やら、やらせたいことやら、SQLの書き方やらで速くも遅くもなる。

803
NAME IS NULL[sage]   投稿日:2014/09/14 19:15:21  ID:???.net(852)
フリーの鯖借りてきて、MySQLを使っているのですが、
その鯖には、外部キー制約の機能がありません。

なので、外部キー制約と同じ機能があるフリーの鯖を探してくるか、
「内部リレーション」の機能で、外部キー制約と同じ事をやるか、

と考えています。

よろしければ、「内部リレーション」の機能で、外部キー制約と同じ事をやるための方法について、
教えていただけないでしょうか?

804
NAME IS NULL[sage]   投稿日:2014/09/14 20:53:36  ID:???.net(852)
外部制約の機能がないって…エンジンとしてinnodbを使えないってこと?

805
NAME IS NULL[sage]   投稿日:2014/09/14 20:55:39  ID:???.net(852)
set foreign_key_checks=0ってことじゃないの?

806
NAME IS NULL[]   投稿日:2014/09/15 09:22:47  ID:9u2jWlPJ.net
WINDOWS7にMYSQLをインストールする

http://know-how-tree.com/archives/612

807
NAME IS NULL[]   投稿日:2014/09/21 10:03:18  ID:Lr7dzhif.net
大量の同時接続数が想定される状況で、採番だけを行うテーブルに
高速に採番させたいのですが、パフォーマンスを上げるためにどの辺りを重点的に考えるべきでしょうか。
・テーブル設計、ストレージエンジン、クエリ
・MySQL設定やリソース

取り急ぎ以下で紹介されている
MyISAMに1レコードINSERTしおいて、リクエストの度UPDATEをかけていく方法
http://engineer.dena.jp/2010/11/mysql-for-socialgame.html
を使用しているのですが、あまりパフォーマンスが上がりませんでした。

リソースの増強をせずとも、ちょっとしたテクニックや設定でパフォーマンスが
上がるのであれば試してみたいのですが、、、

808
NAME IS NULL[sage]   投稿日:2014/09/21 10:46:52  ID:???.net(852)
それ複数テーブルにまたがるidだから採用してるんじゃ?
もともとauto_incrementで済むならそっちのがいい

809
NAME IS NULL[]   投稿日:2014/09/21 14:58:22  ID:lk034qCW.net(14)
wordpressのSQLデータインポートここで質問してもいいですか?

810
NAME IS NULL[]   投稿日:2014/09/21 15:17:08  ID:lk034qCW.net(14)
データベースはほとんどわからない素人です。
wordpressでデータのインポートをすると下記エラーが出て最後まで完走しません。
解決策をアドバイスいただけないでしょうか。よろしくお願いいたします。


エラー

実行した SQL:

--
-- Table structure for table `wp1_slim_browsers`
--
DROP TABLE IF EXISTS `wp1_slim_browsers` ;

MySQLのメッセージ: ドキュメント
#1217 - Cannot delete or update a parent row: a foreign key constraint fails

811
NAME IS NULL[sage]   投稿日:2014/09/21 15:23:49  ID:???.net(852)
まずは、外部制約といった辺りを勉強しませう
この先データベースをいじり続ける気があるなら、それなりの勉強はしてからにね

812
NAME IS NULL[]   投稿日:2014/09/21 15:51:35  ID:lk034qCW.net(14)
レスありがとうございます。
外部制約ですが・・ちょっと私には難しそうです。。。業者に頼むしかないのかも。
自分のサイトを正常に表示させたいだけなのですが方法はないでしょうか?
コメント1件

813
NAME IS NULL[sage]   投稿日:2014/09/21 16:05:38  ID:???.net(852)
どうやってダンプ取ったの?
解説見ながらやり直したほうがいいんじゃ?
外部キー制約があるとインポートするテーブルの順番間違うと入らないから
テーブルごとに分けて順番変えて入れなおしてみては
コメント1件

814
NAME IS NULL[sage]   投稿日:2014/09/21 16:18:01  ID:???.net(852)
外部キー制約のチェックを一旦切ればいんじゃね
コメント1件

815
NAME IS NULL[]   投稿日:2014/09/21 16:18:10  ID:lk034qCW.net(14)
>813
レスありがとうございます!チカッパサーバーでバックアップオプションで自動でとれるようになっています。
wordpressを誤って上書きインストールしてしまいバックアップから復旧させているところなんです。
上記のエラーで残りのデータが入らないという状況です。そしてどうやらその中に管理画面に関するデータがあるみたいなんです。。

>テーブルごとに分けて順番変えて入れなおしてみては
すいません。やり方がわからないです。。

816
NAME IS NULL[]   投稿日:2014/09/21 16:27:37  ID:lk034qCW.net(14)
>814
レスありがとうございます!それはphpmyadminでも出来ますか?メニューにはなかったです。素人過ぎてごめんなさい。

817
780[sage]   投稿日:2014/09/21 16:34:44  ID:???.net(852)
phpmysqladminから以下をクエリで実行してみるとか
SET FOREIGN_KEY_CHECKS=0
インポート
SET FOREIGN_KEY_CHECKS=1
コメント1件

818
NAME IS NULL[]   投稿日:2014/09/21 16:45:46  ID:lk034qCW.net(14)
>817
ありがとうございます。やってみたらエラーが出て駄目でした。。

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'インポート SET FOREIGN_KEY_CHECKS=1' at line 2

819
NAME IS NULL[sage]   投稿日:2014/09/21 16:46:47  ID:???.net(852)
インポート の文字まで入れるなよw

820
NAME IS NULL[sage]   投稿日:2014/09/21 16:47:32  ID:???.net(852)
このインポートは文字じゃなくて実際のインポート作業だろ

821
NAME IS NULL[]   投稿日:2014/09/21 16:49:11  ID:lk034qCW.net(14)
書き方が間違ってました。今度はこうなりましたが駄目っぽい?

SET FOREIGN_KEY_CHECKS = 0;# 返り値が空でした(行数0)


SET FOREIGN_KEY_CHECKS = 1;# 返り値が空でした(行数0)

822
NAME IS NULL[sage]   投稿日:2014/09/21 16:53:06  ID:???.net(852)
SET FOREIGN_KEY_CHECKS = 0;
ここで外部キー制約をしなくなる

実際にインポートする(最初の質問の外部キーエラーが出ない)

SET FOREIGN_KEY_CHECKS = 1;
もとの外部キー制約アリに戻す

作業終わり。
わかる?
コメント1件

823
NAME IS NULL[]   投稿日:2014/09/21 16:59:17  ID:lk034qCW.net(14)
>822
ありがとうございます。
SQLのところでSET FOREIGN_KEY_CHECKS = 0; を実行して
インポートした後
SQLのところでSET FOREIGN_KEY_CHECKS = 1; ですかね?

824
NAME IS NULL[sage]   投稿日:2014/09/21 17:24:44  ID:???.net(852)
恐らく外部キー何かわかってなさそうだけど大丈夫か?
また同じエラー起こしそう

825
NAME IS NULL[sage]   投稿日:2014/09/21 17:27:28  ID:???.net(852)
バックアップとるか消えてもいいとこでやるようにな

826
NAME IS NULL[sage]   投稿日:2014/09/21 17:27:52  ID:???.net(852)
外部キーわざわざ設定してるんだから理解してるでしょ

827
NAME IS NULL[sage]   投稿日:2014/09/21 17:32:08  ID:???.net(852)
>812見る限り外部制約なにかわかってなさそうやで

828
NAME IS NULL[]   投稿日:2014/09/21 17:38:50  ID:lk034qCW.net(14)
SET FOREIGN_KEY_CHECKS = 0;してからインポートしましたが同じエラーが出ました。。。

エラー

実行した SQL:

--
-- Table structure for table `wp1_slim_browsers`

--
DROP TABLE IF EXISTS `wp1_slim_browsers` ;

MySQLのメッセージ: ドキュメント
#1217 - Cannot delete or update a parent row: a foreign key constraint fails

829
NAME IS NULL[sage]   投稿日:2014/09/21 17:45:36  ID:???.net(852)
ああ、CMSが勝手に設定した外部キーか

830
NAME IS NULL[sage]   投稿日:2014/09/21 17:58:34  ID:???.net(852)
業者に泣きついて診てもらえ。俺なら10万くらいでやってやるよ。

831
NAME IS NULL[]   投稿日:2014/09/21 18:04:59  ID:lk034qCW.net(14)
それしかないでしょうか。業者10万もするんですか泣

832
NAME IS NULL[]   投稿日:2014/09/21 18:23:37  ID:lk034qCW.net(14)
SSHでやっても同じですか?触ったことはないです

833
NAME IS NULL[]   投稿日:2014/09/21 18:24:38  ID:ysK96J+F.net(2)
どうせ消せなくてエラー出てんだから
まっさらにしてやってみりゃいい

試しに外部キー制御外したその場でDROP TABLEやってみ
コメント1件

834
NAME IS NULL[sage]   投稿日:2014/09/21 18:34:14  ID:???.net(852)
まじでバックアップだけは取れよ
コメント1件

835
NAME IS NULL[]   投稿日:2014/09/21 18:43:11  ID:lk034qCW.net(14)
>833
wp1_slim_browsers←エラーになっているこのテーブルを削除でいいですか?

>834
ありがとうございます。バックアップはファイルとデータベースを両方とってあります。

836
NAME IS NULL[]   投稿日:2014/09/21 19:12:59  ID:lk034qCW.net(14)
うう。でもテーブル削除してもまたインポートするから意味ないような・・気がします

837
NAME IS NULL[]   投稿日:2014/09/21 19:35:28  ID:ysK96J+F.net(2)
エラーみりゃ削除できねえって言ってるのがわかるだろ

838
NAME IS NULL[sage]   投稿日:2014/09/21 21:41:33  ID:zVSW8HmFj(2)
テーブルに複合インデックスを貼っておりEXPLAINの結果でkey_lenが2と出るのですが、複合インデックスのどれを足しあわせてもサイズが2になりません。key_lenが2になる理由を教えて頂けないでしょうか。

複合インデックスは`term` tinyint(4)、`date` date、`code` varchar(5)の順に貼っています。
また、EXPLAINは以下のようになります。よろしくお願いいたします。

mysql> EXPLAIN SELECT  `prices`.* FROM `prices`  WHERE `prices`.`hoge_id` = 1234 AND `prices`.`term` = 0 LIMIT 1\G
*************************** 1. row ***************************
           id: 1
  select_type: SIMPLE
        table: prices
         type: ref
possible_keys: index_prices_term_date_code
          key: index_prices_term_date_code
      key_len: 2
          ref: const
         rows: 3570
        Extra: Using where
1 row in set (0.05 sec)

839
NAME IS NULL[sage]   投稿日:2014/09/21 21:47:35  ID:zVSW8HmFj(2)
主キーは`id` int(11)です。書き忘れました。

840
NAME IS NULL[]   投稿日:2014/09/21 20:19:21  ID:lk034qCW.net(14)
結局無理ってことですねありがとうございました

841
NAME IS NULL[sage]   投稿日:2014/09/21 20:26:17  ID:???.net(852)
wordpress スレ探して、そちらで具体的な環境とか操作手順を
晒しながら質問したほうが良いのでは。
コメント1件

842
NAME IS NULL[]   投稿日:2014/09/22 03:22:39  ID:y7/LBMjJ.net(4)
多分ここが一番詳しいと思います
データ全部削除してSET FOREIGN_KEY_CHECKS = 0;して再度インポートしたけどやっぱり駄目
SSHはうまくいかないしオワタ


エラー

実行した SQL:

CREATE TABLE `wp1_slim_outbound` (
`outbound_id` int( 10 ) unsigned NOT NULL AUTO_INCREMENT ,
`outbound_domain` varchar( 255 ) DEFAULT '',
`outbound_resource` varchar( 2048 ) DEFAULT '',
`type` tinyint( 3 ) unsigned DEFAULT '0',
`notes` varchar( 512 ) DEFAULT '',
`position` varchar( 32 ) DEFAULT '',
`id` int( 10 ) unsigned NOT NULL DEFAULT '0',
`dt` int( 10 ) unsigned DEFAULT '0',
PRIMARY KEY ( `outbound_id` ) ,
KEY `idx_wp1_slim_outbound` ( `dt` ) ,
KEY `fk_wp1_id` ( `id` ) ,
CONSTRAINT `fk_wp1_id` FOREIGN KEY ( `id` ) REFERENCES `wp1_slim_stats` ( `id` ) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE = InnoDB DEFAULT CHARSET = utf8;

MySQLのメッセージ: ドキュメント
#1215 - Cannot add foreign key constraint

843
NAME IS NULL[sage]   投稿日:2014/09/22 06:08:50  ID:???.net(852)
元々はインポート時に参照キーのエラーが出ていたのが
今度はCREATE TABLEでエラーが出るようになった、ってこと?
このエラーを見る限り、wp1_slim_statsテーブルのid列にキーが
設定されていない可能性があるけど
コメント1件

844
NAME IS NULL[]   投稿日:2014/09/22 08:20:09  ID:y7/LBMjJ.net(4)
>843
最初は途中までデータが入った状態でインポーしていました

845
NAME IS NULL[]   投稿日:2014/09/22 09:03:57  ID:y7/LBMjJ.net(4)
slim_stats←このプラグインが邪魔してますよね。削除したい…

846
NAME IS NULL[]   投稿日:2014/09/22 20:11:47  ID:y7/LBMjJ.net(4)
1年前のSQLファイルがありました。これを一旦インポートして、管理画面に関するテーブルだけをエクスポートし、現在に戻して管理画面テーブルだけをインポートしたらどうでしょうか。
今の問題はWordPressの管理画面に入れないことなのでこれで解決するかもしれない。ご意見お願いします。
コメント1件

847
NAME IS NULL[sage]   投稿日:2014/09/22 21:40:06  ID:???.net(852)
 あくまでWordPressを復旧するのが目的であってMySQLやRDBMSについて知ろうという
気はない、というスタンスなら>841の言うようにここは適してないんじゃないかなあ。

848
NAME IS NULL[]   投稿日:2014/09/23 02:44:41  ID:Rn55ID+g.net
なんとか復旧しました。
>846の方法でうまくいきました!心配してくれたみなさんありがとう!いま感無量です。管理画面に入れたときは感動しました!

データベースからテーブル削除してもバックアップがあればなんぼでも復旧できることがわかりました。WordPressの復旧作業は初めての経験でしたが自信もつきました。もう少しで業者に泣きつくとこでした。地元のweb屋検索しましたからね。

それにしてもデータベース命ですね。次にファイル。何世代かに分けてバックアップは保存しておくべきですね。始まりはWordPressの上書きインストールでしたがいい経験になりました。明日はいい祝日になりそうです。スレ使いすぎてすいませんでした。さよなら。

849
NAME IS NULL[]   投稿日:2014/10/01 02:07:33  ID:auoeFgeH.net(2)
AAA1
AAA11
AAA111


これを

AAA001
AAA011
AAA111

としてORDER BYするにはどうすればいいのでしょうか?
コメント1件

850
NAME IS NULL[sage]   投稿日:2014/10/01 07:40:26  ID:???.net(852)
>849
そういうふうに変換かけて order by にかければいい

851
NAME IS NULL[sage]   投稿日:2014/10/01 07:44:02  ID:???.net(852)
念じる

852
NAME IS NULL[sage]   投稿日:2014/10/01 09:53:38  ID:???.net(852)
そういう変換をするストアドファンクションを定義するなどしてそれでORDER BYかけることはできる。
ただし MySQL は関数ベースのインデックスが張れないから、パフォーマンスは期待できないが、
SQL 処理中の ORDER BY する時点でソート件数が少ないのであれば影響は少ないだろう。
もう一つの代替案は、そのように変換済みの実カラムを追加してそっちで ORDER BY する手もある。
こっちはその分の容量を食う代わりにインデックスは効く。

853
NAME IS NULL[sage]   投稿日:2014/10/01 10:07:49  ID:???.net(852)
列がcolAとして

select colA,cast(substring(colA,4) as unsigned)
from tbl
order by cast(substring(colA,4) as unsigned) ;

これでは駄目?
駄目なんだったら
文字列の部分と数値の部分を分け、数値の部分についてLPADで0埋めしてまた連結するとか

そこまでしないといけないもん?

854
841[]   投稿日:2014/10/01 23:45:26  ID:auoeFgeH.net(2)
ありがとうございました
それほどレコード数も多くなくて、最大で20前後ですので、その方法でorder byします


855
NAME IS NULL[]   投稿日:2014/10/02 19:59:40  ID:YdQdRdW6.net
column1を含むtable1と
column2を含むtable2をcolumn3でjoinした結果に
(column1, column2)の複合インデックスを張りたいんですけど
テーブルを非正規化する以外の方法はありますか?

856
NAME IS NULL[sage]   投稿日:2014/10/02 21:47:14  ID:???.net(852)
祈りなさい

857
847[]   投稿日:2014/10/03 00:47:55  ID:s/6Hsaik.net
MySQLの神に祈ってます
神様教えてください(´;ω;`)

858
NAME IS NULL[sage]   投稿日:2014/10/03 00:54:09  ID:???.net(852)
複合インデックス張るのはあくまで手段であって目的ではないはずだ。
クエリの高速化が目的だろうとは思うけど、本当に他に手はないのか?
何を根拠に複合インデックスという手段が最適だと判断したの?

859
NAME IS NULL[]   投稿日:2014/10/03 19:40:37  ID:IT/STzHsu
例えば、映画ジャンル1、映画ジャンル2、映画ジャンル3とあり、適合度順に123が決まり、
ある映画タイトルは(1やくざ、2エロ、3なごみ)とあったり、またある映画は(1エロ、2なごみ、3犬)とかあったとします。
つまり、ジャンルは有限個ですが、順序がある組み合わせです。

その他にも評価とかDVD価格とかあるとします。

ここで疑問なのですが、ユーザーが評価の☆の数と価格とその他いくつかの条件と一緒に、ジャンルを検索するとします。
例えば、ジャンルやくざ(データベースでは数字)で検索すると思います。
この時、インデックスがきかなくなるorを避け、ジャンル列1~3のどれかにやくざと入力されているものを探すにはどうすれば良いでしょうか?
カバリングインデックスを効かせたままこういった検索をする方法が知りたいです。
コメント2件

860
NAME IS NULL[]   投稿日:2014/10/04 07:43:07  ID:EjaMqXTaF
>859
IN句で何とかできればやりやすいのだが
賢者の到来を待つ

861
847[]   投稿日:2014/10/04 13:03:03  ID:11JI3KNp.net
技術的に解決は無理でしたが政治的に解決されました
ありがとうございました

862
NAME IS NULL[sage]   投稿日:2014/10/04 22:46:47  ID:???.net(852)
アベノミクス!!

863
NAME IS NULL[sage]   投稿日:2014/10/05 01:10:34  ID:???.net(852)
847は政治的に問題はなかったことにしたみたいだけど、
純粋に技術的に解決しようと思ったらどんな手があるかな。

Table1 [id][col1][col3]
Table2 [id][col2][col3]

SELECT Table1.col1, Table2.col2
FROM Table1
INNER JOIN Table2 ON Table1.col3 = Table2.col3

cardinalityが十分に高いという前提であれば、
それぞれのテーブルのcol3への単独インデックスと、
Table1(col3, col1), Table2(col3, col2) という
複合インデックスを張るという手が有効じゃないかと気がするんだけれど、
どうなんだろう?
コメント1件

864
NAME IS NULL[sage]   投稿日:2014/10/05 14:21:36  ID:gKBfb/vkQ
>859>863

ボビーオロゴンです
わたしもこの問題は気になります
join時のindexの最適化

865
NAME IS NULL[sage]   投稿日:2014/10/06 09:54:41  ID:???.net(852)
Sakilaって名前が絶望的に嫌いなんだが
なんとか出来ないものか...

866
NAME IS NULL[sage]   投稿日:2014/10/06 23:59:12  ID:???.net(852)
MySQLの memcached インターフェイスって使ってる人?

867
NAME IS NULL[sage]   投稿日:2014/10/07 19:03:17  ID:???.net(852)
海外の方ですか?

868
NAME IS NULL[sage]   投稿日:2014/10/08 15:58:09  ID:???.net(852)
mariadb-5.5.39-winx64.msiをinstall後
設定を一度終わらせDBとして走らせたのを確認後

PCを再起動して

HeidiSQL起動するとさっき迄問題なかったのに

sql error (2003) in statement #0 can't connect to
mysql server on"127.0.0.1"(10061)

と表示され新規でのDB登録もできなくなってしまうのですが
対処方法教えていただけないでしょうか?

869
NAME IS NULL[sage]   投稿日:2014/10/08 16:02:15  ID:???.net(852)

870
NAME IS NULL[]   投稿日:2014/10/12 15:57:29  ID:l4A5A+ct.net(3)
どなたか教えて頂けないでしょうか?

MySQL外部接続について

CentOS6.5上にMySQLをインストールし外部DBサーバとして開発を行いたいと思っています。

※CentOSはVMware上で構築

MySQLのインストールは上手くいきローカルからは接続が上手くいくのですが、
外部からの接続が上手くいきません。

外部接続のためにやったことは以下です。
・接続ユーザのhostを"%"に設定しどこからも接続できるようにする
・0.0.0.0:3306でLISTENする

いちをいろんな所を参考に外部接続ができるような設定を行ったのですが、
どうやっても上手くいきません。

外部接続はJavaのプログラムから行っており以下のエラーが発生します。

※jdbc:mysql://IPアドレス:3306/DB名 の場合
ConnectException: Connection refused

※jdbc:mysql://ホスト名:3306/DB名 の場合
ConnectException: Operation timed out

そもそもCentOSのネットワークの設定がダメなようなきもするのですが、
ホスト名とIPアドレスでエラーの結果が違うのもよくわかってないです。

871
NAME IS NULL[sage]   投稿日:2014/10/12 16:07:20  ID:???.net(852)
iptablesを確認。
初期状態で3306は空いていなかった気がする。

872
NAME IS NULL[]   投稿日:2014/10/12 16:15:10  ID:l4A5A+ct.net(3)
>871

ありがとうございます
iptablesは他のサイトみて設定しいますがどうやってもうまくいきません。

/etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

iptables --list
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:mysql

873
NAME IS NULL[sage]   投稿日:2014/10/12 16:35:39  ID:???.net(852)
そもそもpingは通るの?

874
NAME IS NULL[]   投稿日:2014/10/12 16:41:07  ID:l4A5A+ct.net(3)
>873

はいpingは通ることを確認しています。
ただtelnetで3306にアクセスするとすぐにはじかれます。
これは3306のポートを開いてないってことなんでしょうか?
netstatで見てもちゃんと3306はLISTENしているのですが。

875
NAME IS NULL[sage]   投稿日:2014/10/12 17:21:32  ID:???.net(852)
ローカルからmysqlの -h オプションで127.0.0.1じゃないほうのアドレス指定で開ける?
iptables を -F でフラッシュしても変わらない?

876
NAME IS NULL[sage]   投稿日:2014/10/12 17:41:35  ID:???.net(852)
ちょっと試したけど、やっぱりiptablesぽいけどな
シンプルにこれじで試してみては
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

877
NAME IS NULL[sage]   投稿日:2014/10/12 17:54:35  ID:???.net(852)
切り分けのためにとりあえずiptablesを止めてみれば?

878
NAME IS NULL[]   投稿日:2014/10/12 19:47:10  ID:OVtCluaN.net
>877

859です。
iptablesを停止したらアクセスできました!
iptablesの設定がダメだったみたいです。
設定を見直したいと思います。
※原因はまだわかっていませんが。。。
アドバイスありがとうございました。

879
NAME IS NULL[sage]   投稿日:2014/10/12 20:29:29  ID:???.net(852)
-Aで追加してるんだから
それより前の評価順で弾かれてるんじゃないのか

880
866[sage]   投稿日:2014/10/12 20:39:44  ID:???.net(852)
>アドバイスありがとうございました。
アドバイスってほどのものでもないんで
iptablesの問題だと判ったのであれば/etc/sysconfig/iptablesの内容を
変に加工せずに全部晒せばちゃんとしたアドバイス得られるかと

881
NAME IS NULL[sage]   投稿日:2014/10/16 00:19:45  ID:???.net(852)
load data infile構文でデータをインサートした際にエラーが出た場合、エラー内容(エラーコードやメッセージ)を別に用意したテーブルに格納したいのですが、
どうやって取得すればいいでしょうか?Show warningsで直前の警告やエラーが取得出来ることは分かりましたが、調べても見つけることが出来ません・・・
バージョンは5.1.3.6です。

882
NAME IS NULL[sage]   投稿日:2014/10/16 01:06:55  ID:???.net(852)
テーブルに格納する前にエラーを無くす方が先決だと思うのだが
コメント1件

883
NAME IS NULL[sage]   投稿日:2014/10/16 01:23:18  ID:???.net(852)
>882
すいません、今のところloda data infileで問題無くテーブルへインサート出来ているんです。
ただ、この先何かしらエラーは出てくるだろうから、それらのエラーコードやメッセージを保管しておきたいとなりました。
そのうえでわざと間違いをしてエラーコードがどこから出てくるのか、それは取得可能なのかを知りたいんです。

show warningsの結果もどこに格納されているの変わらない、一時テーブルのような物なのかそれともログファイルか何かに記録されていて、
それらをインサートのたびに読み込んでDBに突っ込むのか分からない。
エラーが出る際に戻り値の様な物が戻ってくるのか、それを取得してエラー内容を引きずり出す必要がありtお思う真sいた

吸いません、酔っ払ってるんで文章めちゃくちゃですがお許しください。

884
NAME IS NULL[sage]   投稿日:2014/10/16 16:33:39  ID:???.net(852)

885
NAME IS NULL[sage]   投稿日:2014/10/16 19:37:15  ID:???.net(852)
HTML5で業務アプリケーションを作ろうと思っているのですが、文字コードは何を選択するのがベストでしょうか?
全角 = 2バイト、半角 = 1バイトと考えている人が多く、UTF-8を使おうか悩んでいます。

886
NAME IS NULL[sage]   投稿日:2014/10/16 19:51:06  ID:???.net(852)
utf8mb4

887
NAME IS NULL[sage]   投稿日:2014/10/16 19:58:11  ID:???.net(852)
charなら文字数だけど

888
NAME IS NULL[sage]   投稿日:2014/10/16 20:27:43  ID:???.net(852)
一部の人の名前入れられないとか論外だからUTF-8。
MySQLはutf8mb4

889
NAME IS NULL[sage]   投稿日:2014/10/18 15:59:52  ID:???.net(852)
別に論外じゃないけどな。

仮に論外ならユニコード定義外の文字でも入力出来なきゃ駄目だろ。
現実的に可能な範囲でベストを尽くすべきという意味においては同意だけど。

890
NAME IS NULL[sage]   投稿日:2014/10/21 11:51:05  ID:???.net(852)
全テーブル全カラムを対象に
日本語(というか非アスキー)が含まれているテーブルの
一覧を作りたいんだけど
どうしたらそれなりに高速に調べられるかな

891
NAME IS NULL[sage]   投稿日:2014/10/21 13:30:47  ID:???.net(852)
1000件ぐらいまでだったら普通に検索しても速度は変わらないと思うけど
10万件を超えるのなら Mroonga の導入を検討するとか

892
NAME IS NULL[sage]   投稿日:2014/11/14 12:19:28  ID:???.net(852)
揚げ

893
NAME IS NULL[sage]   投稿日:2014/11/26 14:42:58  ID:???.net(852)
生物の生育範囲のような、例えばpH1.0〜3.3というような、幅のある条件をもつ複数の生物を
条件検索で絞り込ませるDBはどのように作ればいいのでしょうか。
pHの欄に、1.0、1.1、1.2・・・・3.2、3.3などと延々入力しておかなければならないのでしょうか。
これだと幅が広い領域を持つ生物の時はとても手間がかかります。
もっとスマートなやり方があるのでしょうか。
コメント1件

894
NAME IS NULL[sage]   投稿日:2014/11/26 14:53:08  ID:???.net(852)
最小と最大入れて範囲指定で検索でいいと思うが

895
NAME IS NULL[sage]   投稿日:2014/11/26 15:15:44  ID:???.net(852)
データベースの最小値欄に1.0、最大値欄に3.3と入力しておくだけで、
範囲指定の検索ボックスで、下限が3、上限が5 と指定すれば、>893であげた
生育条件(pH1.0〜3.3)の生物を結果として出してくれる?
生育pH3.1〜5.7のような生物Pがいた場合、下限3、上限5と条件検索すれば、
これも同時に結果に出してくれるのでしょうか。

896
NAME IS NULL[sage]   投稿日:2014/11/26 15:36:40  ID:???.net(852)
http://www.rsch.tuis.ac.jp/~nagai/SYS/SYS22.html
この例のように、1つのアイテムが1つの固有値を持つものは、where文で
範囲指定すればいいとわかるのですが、上記のように
1つのアイテムが、幅のある数値を持つものはどうすればいいのか悩んでいます。
pHというフィールドの中に1.0from3.3と入れたらプログラムは理解してくれますか。
それともminとmaxというフィールドをそれぞれ作って1.0、3.3という値を入れておくのでしょうか。

897
NAME IS NULL[sage]   投稿日:2014/11/26 16:09:47  ID:???.net(852)
もちろん情報が2つあるんだから2項目にminとmax入れておくんだよ
もしかして検索条件も範囲なの?
その場合、すこしでも重なってたらひっかかるのか、完全に内包されてる場合だけなのか
とかいろいろ条件あると思うんだけど、必要な要件並べてみてよ
コメント1件

898
NAME IS NULL[sage]   投稿日:2014/11/26 17:13:03  ID:???.net(852)
>897
ありがとうございます。そうです、検索条件も範囲です。
複数の生物についてデータベースを作り、同一の生育条件のものを拾い出すデータベースです。
例えばメダカは絶対に水温25℃ぴったりじゃないと死んでしまうってことはなく、
生きられる水温に幅がありますよね。
そのように、似たような条件で生きられる生物は他にもいろいろいるわけですが、
それらを条件検索で絞って出てくるように作りたいのです。
なので検索条件は、重なる部分を少しでも内包するものを拾う必要があると思います。

899
NAME IS NULL[sage]   投稿日:2014/11/26 17:36:26  ID:???.net(852)
カラムが minvalue maxvalue とすると
特定の値が範囲内かは、
値 BETWEEN minvalue AND maxvalue
で探せるから
最小値 BETWEEN minvalue AND maxvalue

最大値 BETWEEN minvalue AND maxvalue
をORでつなげば重なり、ANDでつなげば内包になるんじゃない?

まあいろいろ試してみて
コメント1件

900
NAME IS NULL[sage]   投稿日:2014/11/26 17:37:32  ID:???.net(852)
あーあと範囲が検索範囲より両側とも大きい場合を含めるなら別にその比較もいるね
コメント1件

901
NAME IS NULL[sage]   投稿日:2014/11/26 18:17:54  ID:???.net(852)
>899 ありがとう。
andはアレかつコレですよね。
Aの範囲とBの範囲が重なりを内包するものを探せということは、
betweenAの範囲の最小値かつAの範囲の最大値、and
betweenBの範囲の最小値かつBの範囲の最大値 ということで、andでつなげば
でる!と考えました。
>900
生育条件範囲が検索範囲より両側とも大きい場合も
同じ式でいけるかと思いましたが違うのかな。
コメント1件

902
NAME IS NULL[sage]   投稿日:2014/11/28 21:08:37  ID:???.net(852)
>901
これはとてもポピュラーな問題なんだけど、「不要なもの」以外を取るようにすれば楽。

生物.max < 検索.min → 水槽の最小水温でも熱すぎて死んじゃう生物
か、
生物.min > 検索.max → 水槽の最大水温でも冷たすぎて死んじゃう生物

が、検索結果に「不要なもの」だよね。なので、その逆を出せばいいよ。

903
NAME IS NULL[sage]   投稿日:2014/11/28 21:33:08  ID:???.net(852)
pH1.0で生きられる生物なんているの?
例だから別にどうでもいいんだけど

904
NAME IS NULL[sage]   投稿日:2014/11/28 21:53:51  ID:???.net(852)
いるW

Ferroplasma(フェロプラズマ属)はテルモプラズマ目フェロプラズマ科に属す古細菌の属である。
非常に強い好酸性と金属耐性、細胞壁を欠くことを特徴とする。
増殖最適条件は30-50℃、pH1.5程度で、pH0での増殖も報告されている。

http://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A7%E3%83%AD%E3%83%97%E3%...

905
NAME IS NULL[sage]   投稿日:2014/11/28 23:02:01  ID:???.net(852)
それアカンやつや

906
NAME IS NULL[sage]   投稿日:2014/12/01 15:05:57  ID:???.net(852)
健全でない言葉が含まれているため表示しません 内容を確認する

907
NAME IS NULL[sage]   投稿日:2014/12/02 20:31:44  ID:???.net(852)
>985
インデックスだけでは該当するレコードを絞り切れない場合に "Using where" が出る。
それが出たとき、結果のレコード数は10なのに、rows が 50 とかになってない?
1レコード取り出したいのに、rows が 1000 とかになってたら見直したほうがいいかも。
コメント1件

908
NAME IS NULL[sage]   投稿日:2014/12/04 07:10:54  ID:???.net(852)
>907
回答ありがとうございます。
Using whereが出た時も出ない時も結果のレコード数・rowsともに複数行でした。

WHERE句で複合インデックスの2つ目以降のキーも使われた場合Using whereが追加されるとかでしょうか?
コメント1件

909
NAME IS NULL[sage]   投稿日:2014/12/04 12:45:27  ID:???.net(852)
>908
> Using whereが出た時も出ない時も結果のレコード数・rowsともに複数行でした。
同じ数字でしたか?

910
NAME IS NULL[]   投稿日:2014/12/14 02:04:33  ID:yOOGWEyF.net(5)
MYSQLでDBの勉強してるんですけど、

insert into TABLE_B(NO,JIKI,TENSU_A,TEMSU_B,TENSU_C)
VALUES(
(select NO" from TABLE_A),
(select JIKI,AVG(TENSU_A),AVG(TENSU_B),AVG(TENSU_C)
from TABLE_B
group by JIKI)
);

このやり方だとエラーでるんですが
構文で間違ってる所あります?
コメント1件

911
NAME IS NULL[sage]   投稿日:2014/12/14 02:14:05  ID:???.net(852)
>910
TEMSU_B は合ってる?
select NO" も怪しい。

エラーもちゃんと書いてね。
コメント1件

912
名無しさん@そうだ選挙に行こう[]   投稿日:2014/12/14 02:33:25  ID:yOOGWEyF.net(5)
>911
すみません、タイプミスです。
正しくはTENSU_Bとselect NOです。

エラーは
ERROR 1136(21S01):Column count doesn't match value count at row 1とでました。

913
名無しさん@そうだ選挙に行こう[sage]   投稿日:2014/12/14 02:37:14  ID:???.net(852)

914
名無しさん@そうだ選挙に行こう[]   投稿日:2014/12/14 02:39:55  ID:yOOGWEyF.net(5)
>913
すみませんでした。
書き込んだときのタイプミスです。すみません

915
名無しさん@そうだ選挙に行こう[]   投稿日:2014/12/14 02:44:09  ID:yOOGWEyF.net(5)
http://www.dotup.org/uploda/www.dotup.org51852.png.html


このようなテーブル構成でして、
新しく追加された「NO」3,4のデータをTABLE_BにJIKI毎に各TENSUの平均を
TABLE_Bに追加したいんですが、
いろいろ調べたんですが、よくわかりません。

916
名無しさん@そうだ選挙に行こう[sage]   投稿日:2014/12/14 03:03:20  ID:???.net(852)
(select NO" from TABLE_A),
これの結果が4行
(select JIKI,AVG(TENSU_A),AVG(TENSU_B),AVG(TENSU_C)
from TABLE_B
group by JIKI)
これの結果が2行
行数が違うのでエラーになる。

テーブルの作りが悪いから、
(select 3, JIKI,AVG(TENSU_A),AVG(TENSU_B),AVG(TENSU_C)
from TABLE_B
group by JIKI)
こんな感じで、NOはプログラム(もしくは手動)で入れたほうがいい。
コメント1件

917
名無しさん@そうだ選挙に行こう[]   投稿日:2014/12/14 03:18:26  ID:yOOGWEyF.net(5)
>916

INSERTできました!ありがとうございます!


918
名無しさん@そうだ選挙に行こう[sage]   投稿日:2014/12/14 10:39:23  ID:???.net(852)
神様がいるスレ (^ 人 ^) ありがたや

919
名無しさん@そうだ選挙に行こう[sage]   投稿日:2014/12/14 17:53:22  ID:???.net(852)
太郎と次郎の平均点を三郎に入れてどうするんだろうか

920
NAME IS NULL[sage]   投稿日:2014/12/15 09:04:57  ID:???.net(852)
三郎 : アッー!

921
NAME IS NULL[sage]   投稿日:2014/12/15 10:13:41  ID:???.net(852)
一郎:うっ

922
NAME IS NULL[]   投稿日:2014/12/16 02:32:54  ID:GtMu71uM.net
みなさんはどうやってMySQL勉強しました?

923
NAME IS NULL[sage]   投稿日:2014/12/16 09:16:10  ID:???.net(852)
漢のブログ見た

924
NAME IS NULL[sage]   投稿日:2014/12/16 11:26:11  ID:???.net(852)
あれこれ図書館でその手の本を借りまくって

925
NAME IS NULL[sage]   投稿日:2014/12/16 11:47:36  ID:???.net(852)
データベースで図書館というとあれですね?

926
NAME IS NULL[sage]   投稿日:2014/12/16 11:58:05  ID:???.net(852)
タイーホ

927
NAME IS NULL[]   投稿日:2014/12/17 18:45:50  ID:aelyae1c.net(4)
複合インデックスについて質問です
主キーとユニークキーと、作成日時とフラグを収めるテーブルがあり、
検索で、ユニークキーが一致して作成日時が1日以内でフラグが立っていない ものを検索する場合
複合インデックスはどのように作成すればよいでしょうか?


(例)
CREATE TABLE IF NOT EXISTS `test` (
`primary_id` int(1) unsigned NOT NULL AUTO_INCREMENT,
`unique_key` char(200) COLLATE utf8_bin NOT NULL,
`created` datetime NOT NULL,
`deleted` tinyint(1) NOT NULL,
PRIMARY KEY (`primary_id`),
UNIQUE KEY `unique_key` (`unique_key`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

というテーブルで

WHERE `unique_key` = 'ユニークキー'
AND `deleted` = 0
AND `created` <= '1日前'

という条件で検索したいと考えてます
この際、
UNIQUE KEY `index` (`unique_key`,`deleted`,`created`) とすればいいのか、
KEY `index` (`unique_key`,`deleted`,`created`) とすればいいのか、
そもそも`UNIQUE KEY `unique_key` (`unique_key`) が既にあるから複合インデックスに`unique_key`を含める必要はないのか、
またはもっと他に良い方法があるのか、、、
初心者で見辛い点や意図が伝わりにくい点があるかもしれませんが、ご教授ご指摘の程よろしくお願いしますm(_ _)m

928
NAME IS NULL[]   投稿日:2014/12/17 18:47:23  ID:aelyae1c.net(4)
訂正
`created` >= '1日前'
でした

929
NAME IS NULL[sage]   投稿日:2014/12/17 19:04:33  ID:???.net(852)
インデックス追加する必要がない
コメント2件

930
NAME IS NULL[]   投稿日:2014/12/17 19:07:10  ID:aelyae1c.net(4)
>929
それは意外でした
後学の為にぜひ理由を教えてください

931
NAME IS NULL[sage]   投稿日:2014/12/17 21:19:23  ID:???.net(852)
>929じゃないが、unique_key 1件あたりのレコード数はどのくらいなの
コメント1件

932
NAME IS NULL[]   投稿日:2014/12/17 21:28:21  ID:aelyae1c.net(4)
>931
unique_key 対するデータは1つになっているので・・・
もしかしてunique_keyを条件にした時点で他のレコードを探す必要がないので要らないってことですか?
だとしたら、理解できました
皆さん、ありがとうございました

933
NAME IS NULL[sage]   投稿日:2014/12/18 04:01:52  ID:???.net(852)
はい

934
NAME IS NULL[age]   投稿日:2014/12/18 11:45:52  ID:???.net(852)
レコード長(サイズ)で教えて欲しいのですが、
InnoDBで、大きいvarchar型をいくつか利用するとレコード長がオーバーしてしまう状況です。
varchar型をtext型にすれば、回避できるのでしょうか。
コメント1件

935
NAME IS NULL[sage]   投稿日:2014/12/24 06:10:41  ID:???.net(852)
MySQL初心者です。
NULL不可のDATE型のカラムに不正な日付をINSERTした際、0000-00-00という値でINSERTが完了してしまいますね。
これをエラーを返してROLLBACKさせたいのですが、DB側の機能では不可能でしょうか?
コメント2件

936
NAME IS NULL[sage]   投稿日:2014/12/24 07:06:36  ID:???.net(852)
>935
日付判定はアプリ側の仕事ってのがMySQLのスタンスだから
INSERT、UPDATEトリガで例外を発生させるぐらいしかないかも。

IF DAYOFYEAR(NEW.datecolumn) IS NULL THEN
 SIGNAL SQLSTATE '23000' SET MESSAGE_TEXT = 'invalid date'
END IF;
コメント1件

937
NAME IS NULL[sage]   投稿日:2014/12/24 08:26:39  ID:???.net(852)
>935
sql_modeでNO_ZERO_DATEを my.iniだかmy.cnfだかに設定する

mysql sql_mode あたりでぐぐれば出てる
コメント1件

938
NAME IS NULL[sage]   投稿日:2014/12/24 20:49:58  ID:???.net(852)
>936
>937
ありがとうございました。
sql_mode = STRICT_ALL_TABLESでうまくいきました。

939
NAME IS NULL[sage]   投稿日:2014/12/25 12:22:49  ID:???.net(852)
>934
innodb_file_format = Barracuda
innodb_file_per_table = 1
で、
ROW_FORMAT=DYNAMIC

940
[sage]   投稿日:2014/12/25 19:43:04  ID:???.net(852)
/:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::ヽ
    /:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::://ヽ:::::::::::::::|
    l:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::// ヽ::::::::::::::l
    l:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::/:::「'ヽ::::::::::://   ヽ:::::::::::|
    |::::::::::::::::::::::::::::::::::::::::::::::::::::::::::ノl:::ノ l:::::::/      ヽ::::::::|
   ノ:::::::::::::::::::::::::::::::::::::::::::::::::::::/ ゙゙  ノ:::/ ,,;;;;;;,,    ,,,,ヽ:::::l
   ):::::::::::::::::::::::::::::::::::::::::::::::/    ノ/ __,'''i: ('''__):::l  
  )::::::::::::::::::::::::::::::::::::::::::::::::::/         ̄ ̄ン:. :「 ̄`ヾ   
 1:::::::::::::::::::::::「 `┤l:::::::::::::::::l          ̄   ,  ヽ ̄ l   
  `l:::::::::::::::::::::ヽ  :l li:::::::::::::/        ヽ  /´   `l  |
  ヽ::::::::::::::::::::::\_」 lヽ::::/         .l  !:-●,__ ノ  /      
  ノ:::::::::::::::::::::::::::ノ | l `゙゙           i ,,;;;;;;;;;;;;;;;;;;;;,  /ヽ       
,/ ヽ::::::::::::::::::::::(  l l::::::::..         /.:''/´ ̄_ソ  /  `ヽ
     ヽ:::::::::::::::ヽ | l:::::::::::...      /::// ̄ ̄_ソ  /    \   ヴッ!!
        ヽ:::::::\| l::::::::::::::::...    / :::.ゝ` ̄ ̄/ /       ヽ
           ヽ:::l l:::::::::::::::::::..      ̄ ̄;;'' /         ヽ
              l l;;;;;;:::::::::::::::.....;;;;............;;;;;;''ノ            l
              l l '''''''''''''''''''''''''''''''''''''' ̄l |             |

http://www.youtube.com/watch?v=z2qK2lhk9O0

941
NAME IS NULL[sage]   投稿日:2014/12/28 13:06:20  ID:???.net(852)
■質問です
MySQLを初めて使うのですが、
phpMyadminから設定を行ったのですが、
データをいくつ登録しても、
出力するページ側では1つしか出力されません。(phpMyadmin側ではデータは登録されている)

phpMyadminにて一度設定した後に下記を後から修正したのですが
それが原因てことはありますでしょうか?

主キー
ユニークインデックス
インデックス
全文インデックス

また、上記のそれぞれの意味を初心者向けに解説しているサイトなどあれば教えていただけますと幸いです

942
930[sage]   投稿日:2014/12/28 14:35:41  ID:???.net(852)
すみません自己解決しました。
接続側のphpの記述に問題がありました。
失礼しました

943
NAME IS NULL[sage]   投稿日:2014/12/28 14:50:22  ID:???.net(852)
ガンバ

944
NAME IS NULL[sage]   投稿日:2014/12/28 18:53:41  ID:???.net(852)
Barracuda で ROW_FORMAT=ROW_FORMAT=COMPRESSEDにしたら
900MB弱あったテーブルが500MB以下になった。すごっw

945
NAME IS NULL[]   投稿日:2014/12/30 05:24:23  ID:ZOTTcmcS.net(2)
MySQLを利用してWebサイトを作っています
ユーザーが入力した文字(名前や自己紹介文)をDBへ登録する際、
HTML特殊文字(&や<>等)は予めエスケープしてからDBへ登録するのと、
DBへの登録はそのままで、表示する際にエスケープするのは
どちらが一般的なのでしょうか?

エスケープして登録した方が、表示の度に毎回エスケープしなくていいので良いと思うのですが、
値を検索する際に困りそうな気がして悩んでます
コメント1件

946
NAME IS NULL[sage]   投稿日:2014/12/30 09:51:16  ID:???.net(852)
そのデータは絶対にHTMLに流すことしかしないの?
HTML前提じゃないのに格納時にエスケープするのはおかしいよね?
ま、前提だとしても基本的には生データで入れるけどね。
コメント1件

947
NAME IS NULL[sage]   投稿日:2014/12/30 12:12:51  ID:???.net(852)
保存のためなのか表示のためなのか切り分けろ

948
NAME IS NULL[sage]   投稿日:2014/12/30 12:18:12  ID:???.net(852)
どこかに
ページ送りの部分のソース(他の機能は一切不要)を初心者向けに解説しているサイトないでしょうか?

なんですぐ解説サイトって検索機能とか余計な事まで一緒にやろうとするんだろう

949
NAME IS NULL[sage]   投稿日:2014/12/30 13:38:01  ID:???.net(852)
ページ送りってなんやねん。ここはDBの板なんだからPHPとかWebのことならそういう板で聞けよ

950
NAME IS NULL[sage]   投稿日:2014/12/30 13:56:35  ID:???.net(852)
多分、limit offset と order by で順番に取ってくるやつのことだと思うけど
そのままググれば見つかりそうなもんだけどな。
コメント1件

951
NAME IS NULL[sage]   投稿日:2014/12/30 14:11:44  ID:???.net(852)
>945
エスケープして格納したいのなら、検索キーワードもエスケープすりゃええ。
コメント1件

952
NAME IS NULL[sage]   投稿日:2014/12/30 14:22:13  ID:???.net(852)
インジェクションとか大丈夫か?
コメント1件

953
937[sage]   投稿日:2014/12/30 14:31:25  ID:???.net(852)
>950
その通りでございます。
エスパーですね

954
NAME IS NULL[]   投稿日:2014/12/30 18:00:06  ID:ZOTTcmcS.net(2)
>946
ありがとうございます
生データで入れるのが一般的なんですね。参考になりました

>951
ありがとうございます
そういうやり方もあるんですね

>952
SQLインジェクションは処理しますので大丈夫です
お気遣いありがとうございます

955
NAME IS NULL[]   投稿日:2014/12/31 03:07:24  ID:sJ8tBVVY.net
やるんだったら、一応、カラムにBINARY属性を付ける方がいいよな。

956
NAME IS NULL[sage]   投稿日:2015/01/04 14:48:03  ID:???.net(852)
ブログの様なシステムを制作しており、そのブログの設定はMySQLではなく静的ファイルに保存するようにしています。

他のシステムを見ると設定自体もMySQLに保存しているようなのですが、設定は1レコードのみのテーブルを用意して保存しているのでしょうか?
設定をRDBに保存するとどうしても無駄が多いように感じてしまうのですが、何か特殊な設定があるのでしょうか?

よろしくお願いします。

957
NAME IS NULL[sage]   投稿日:2015/01/04 14:51:38  ID:???.net(852)
なんで1レコード?
nameとvalueのテーブル作って
(1ページあたりの記事数,5),
(背景の色,#f00),
(タイトル,mYbloG),
って放り込めばいいんじゃないの?
コメント2件

958
945[sage]   投稿日:2015/01/04 15:06:56  ID:???.net(852)
ありがとうございます。
たしかにそうですね。設定毎のフィールドを用意することを勝手にイメージしてました。

その方法でも設定が少量であればRDBとして無駄に思えるのですが、その方法が一般的になるでしょうか?
設定を参照する度にnameを検索することが少々無駄に感じてしまいます。
コメント2件

959
NAME IS NULL[sage]   投稿日:2015/01/04 15:17:59  ID:???.net(852)
まあ何回かやってみれば
テキスト使うのが馬鹿らしくなるのでわかると思う
使い方慣れるまでは面倒かもしれないけど

960
NAME IS NULL[sage]   投稿日:2015/01/04 15:18:06  ID:???.net(852)
>958
製作者がそういう風にしたほうが便利だと思ったからやってるだけ。
あなたは静的ファイルのほうが無駄がないと思っているからそうしているだけ。
よそはよそ、うちはうち。
だから別に気にしなくていいよ。

961
NAME IS NULL[sage]   投稿日:2015/01/04 15:18:45  ID:???.net(852)
DBに持たせているとBLOG記事と一緒にバックアップを取ることもできて
便利のような気がするけど。
後はloginid,name,valueとしてユーザー毎に設定を保持できるように
するのも楽だし(もちろん静的ファイルでも可能だけど)。

>設定を参照する度にnameを検索することが少々無駄に感じてしまいます。
静的ファイルから読みだすのと対して変わらないような。

962
NAME IS NULL[sage]   投稿日:2015/01/04 15:36:05  ID:???.net(852)
>958
ユニークIDを付けて、運用時はそれをキーに検索したらどうかな。

963
945[sage]   投稿日:2015/01/04 17:33:53  ID:???.net(852)
皆様有難うございます。

15年来設定をテキストファイルで保存していたため、どうもRDBをRDBとして使う以外のことに抵抗があるだけなのかも知れません。
現在はテキストファイルに固定長で保存しているためにポインタをシークするだけで検索などは不要のため、どうも一々RDBに問合せを出すということが無駄に感じていました。

いくつかのWebシステムを読んでみたのですが、MovableTypeは少し特殊な方法かも知れませんが、多くの場合>957さんの方法で行っているようです。

私もバックアップの事を考えている中でMySQLに入れることを考えたのですが、OpenPNEは画像ファイルもアクセス制限のためにDBに入れるなど、システム毎にいろいろな方法があるんですね。

ありがとうございました。
コメント1件

964
NAME IS NULL[sage]   投稿日:2015/01/04 18:50:40  ID:???.net(852)
>963
俺も>957のような持たせ方は気持ち悪くてしょうがないけどねぇ。

965
945[sage]   投稿日:2015/01/04 22:38:47  ID:???.net(852)
気持ち悪いというか、valueフィールドはchar型にしなければならないので、ブール値や数値を一々変換するのが少々手間がかかる上に無駄に感じていますね。

そのために設定テーブルを作ると考えたのですが、それであれば設定を追加する度にテーブルを変更する必要が有り、1レコードしか無いテーブルを持つことになるのでそれも無駄に感じてしまいます。

私のシステムを変更してみたので、しばらく使ってみようと思います。

966
NAME IS NULL[sage]   投稿日:2015/01/04 23:35:20  ID:???.net(852)
何故世界中の多くのシステムでDBが使われているのか
それを考えたら答えは出るよな
無駄だと思うのは設計が間違っているか、DBを必要としないか
今作っているシステムがテキストファイル保存で事足りるならそれでええと思うよ

967
NAME IS NULL[]   投稿日:2015/01/05 19:39:05  ID:ECYaSO8s.net
テキストファイルだとブール値や数値は
いちいち変換しないのかな

968
NAME IS NULL[]   投稿日:2015/01/15 13:51:06  ID:GI4jYeFb.net
tinyintやsmallintについて質問です
予め最大値が決まっている小さな数を扱う場合、
現在はすべてint(1)で取り扱っていますが、
tinyint(tinyint(1)はBool型なので、それ以外)やsmaillintを使うべきなのでしょうか?

例えば0〜100までの数しか入らないデータを扱う場合は
int(1)ではなくtinyint(4)にした方がいいのでしょうか?
大は小を兼ねるともいいますが、tinyintにすることによって処理速度が上がったりしますか?
コメント1件

969
NAME IS NULL[sage]   投稿日:2015/01/15 18:30:28  ID:???.net(852)
【質問】
double型の項目に、「71.4」という値をセットして、レコードを新規登録
登録データを読み出して、更新しようとすると、エラーが発生する
原因や解決策が分かる方がいたら教えていただけると嬉しいです。

【問題の詳細】
VB6.0 SP5で作ったアプリケーションからMySQLのDBに対して更新を実行すると、下記のエラーが発生。
err=-2147217864
行が見つからなかったため、更新できません。
列の値は最後に読み込まれた後で変更された可能性があります。

【エラーが発生する条件】
1.レコードの登録でdouble型の項目に「71.4」という値を登録
2.登録したレコードを読み出し、更新をすると上記のエラー発生
***注意点***
「71.4」という値以外を新規で登録した場合は、登録したレコードを読み出して更新しても、エラーは発生しない。
その際に、「71.4」という値で更新も可能
更新で「71.4」になったレコードを読み出して、再度更新しても上記のエラーは発生しない。

【環境】
○サーバ側
OS:Linux RedHat Enterprise 6.5
DBサーバ:MySQL 5.1.71(x86_64)

○クライアント側
OS:
 Windows 7(32bit)
 Windows 2k Pro
ODBC:(それぞれのOSで共にエラーを確認)
 odbc3.51.04
 odbc5.01.08

【DBの構成】
DB名:「*****」
テーブル名:「***_***」
問題の項目:
 項目名「******」
 データ型 double ※デフォルト(桁指定無し)
 Null:Yes
※「*」は半角アルファベtット
コメント1件

970
NAME IS NULL[sage]   投稿日:2015/01/15 18:39:16  ID:???.net(852)
>968
tinyintにすれば処理速度はあがります

個人的には、tinyintが好きではないのでsmallintを使います
データの大きさにもの凄くシビアであれば、tinyintを使った方がいいのだと思います。

mysqlのバージョンが変われば、データ型の取り扱いが変わる。(MySQL3.23の頃とchar型が違う)
こんなこともあるので、あまり多くのデータ型を使いたくないのが本音ではあります。
ただ、smallintとintegerでは、違いがかなりあるので、ある程度の使い分けは仕方なし。と考えています。
コメント1件

971
NAME IS NULL[sage]   投稿日:2015/01/15 20:19:02  ID:???.net(852)
>970
処理速度は上がるんですね!
解説も参考になります
ありがとうございました

972
NAME IS NULL[sage]   投稿日:2015/01/15 23:08:24  ID:???.net(852)
intやtinyintの()の中の数字は、表示幅だからあんまり関係ない

973
NAME IS NULL[sage]   投稿日:2015/01/16 03:44:11  ID:???.net(852)
速度が上がるということについて信頼の置けるソースがなかな見つからず。

974
958[sage]   投稿日:2015/01/16 09:02:38  ID:???.net(852)
カーソルロケーションを見失っている感じではあるんですよね。

INSERT INTOでExcuteしてレコードを追加するのをやめてみました。
VB6なので、カーソルロケーションをadUseClientに指定した上で、レコードをオープン
addNewでレコードを追加して、Updateすると
double型項目に71.4をセットしても、更新可能になりました。

SQL文で、Excuteするときに、カーソルロケーションを指定することって可能ですか?
コメント1件

975
NAME IS NULL[sage]   投稿日:2015/01/16 13:34:34  ID:???.net(852)
>974
MySQLの話だと思ってる?
コメント1件

976
958[sage]   投稿日:2015/01/16 14:02:53  ID:???.net(852)
>975
思っています。

あと、わざわざこういう言い方するのは悪意を感じて好きではないです。
指摘したいことがあるなら、指摘してください。
コメント1件

977
NAME IS NULL[sage]   投稿日:2015/01/16 14:17:51  ID:???.net(852)
>976
MySQL以外のDBだと発生しないという事を確認すること
その上で、他の人が再現する上で必要な情報を書くこと
例えばテーブルの定義、インサートするサンプルデータ
VBでやらないといけないなら、その部分のソースも

最低限、ここまでは書かないと誰もコメントくれないと思う。
コメント1件

978
958[sage]   投稿日:2015/01/16 14:19:03  ID:???.net(852)
ついでなので。

サーバのコマンドラインから、MySQLに入り
INSERT INTOで、double型に71.4という値をセットしてレコード登録
INSERT INTO ***_*** set seqno = 1, **** = 71.4;

端末(Win 2K)からAccess2000で、該当のテーブルのリンクを表示(ODBC5.1)
ACCESS上から登録した71.4の値を変更しようとすると、「このレコードは他のユーザーによって変更されています」
カーソルロケーションを見失った時のような動きになります。

979
958[sage]   投稿日:2015/01/16 14:44:35  ID:???.net(852)
>977

サンプルですか。
では、現象が発生するデータを作ります。

環境は>969の前提で。
DB作成
create database bcd;
テーブル作成
create table xyz_table (seqno integer not null default 0, gaikei double default null, PRIMARY KEY (seqno) );
レコード登録
insert into xyz_table set seqno = 1 , gaikei = 71.4;

このデータを、PC側の端末(Win2k Pro)からAccess2000でリンク(ODBC5.1)
ACCESS上からgaikei項目の71.4を変更しようとすると、
「このレコードは他のユーザーによって変更されています」
となり、自分の環境では958で起こった現象が再現できます

980
NAME IS NULL[sage]   投稿日:2015/01/16 16:52:24  ID:???.net(852)
「err=-2147217864」でググってみた?
コメント1件

981
958[sage]   投稿日:2015/01/16 17:24:07  ID:???.net(852)
>980
調べてはみました。

INSERT INTO で、double型に「71.4」をセットしてレコードを登録したときのみ発生するのかは分かりませんでした。
自分には見つけられそうに無いので、申し訳ないですが原因を教えてください。
コメント1件

982
NAME IS NULL[sage]   投稿日:2015/01/16 20:10:24  ID:???.net(852)
>981
なんでも人に頼るのはよくないよ。googleったら俺もすぐ見つけられたし。

http://bugs.mysql.com/bug.php?id=38147
これに載ってるところだとODBCドライバを更新するといいんじゃないのかな。
コメント2件

983
958[sage]   投稿日:2015/01/19 08:28:20  ID:???.net(852)
>982
>なんでも人に頼るのはよくないよ。googleったら俺もすぐ見つけられたし。
調べた上で、分からなかったので質問しています。

ありがとう御座いました。

984
958[sage]   投稿日:2015/01/19 09:43:24  ID:???.net(852)
>982
ODBCを更新してみました。

紹介していただいたサイトでは ODBC 5.1.9で正常動作すると書かれています。
ODBC5.1.9、5.1.12、51.1.13ドライバにアップグレードしたところ、
新規にDSNを作成しようとするとサーバのDBを取得できなかったため、接続はやめました。
最新のODBC 5.3.4では、DSNの作成に失敗するため、接続はやめました。
ODBC5.1.8に戻しています。
端末環境 Win2k Pro

教えていただきありがとう御座いました。
コメント1件

985
NAME IS NULL[sage]   投稿日:2015/01/20 04:40:23  ID:???.net(852)
ODBC最近使ってないけど、そんな頻繁にまともに接続できない事態に陥るかね。
>984が事実なら相当ひどいが。
コメント1件

986
NAME IS NULL[sage]   投稿日:2015/01/21 19:26:12  ID:???.net(852)
Win2kとか化石使ってることのほうがひどい。
コメント1件

987
NAME IS NULL[sage]   投稿日:2015/01/26 13:21:58  ID:???.net(852)
MySQL+PHPのPDOで内部結合した後のfetchなんですが
表に内容が違うカラムがあった場合に、変数的に同じ名前になってしまいます。

テーブルA、テーブルBに果物というカラムがあって
それぞれ、りんご、みかんだった場合
$result = $stmt->fetch(PDO::FETCH_ASSOC);
$result["果物"]はみかんになってしまいます。

foreachで回してみても、りんごはどこにも居ないわけですが
これはテーブル設計が駄目で
対応はテーブルAにテーブルBを内部結合、またはテーブルBにテーブルAを内部結合といった
対策をとるしかないのでしょうか。

988
NAME IS NULL[sage]   投稿日:2015/01/26 14:10:59  ID:???.net(852)
AS で名前つけるとかViewを作るとか
コメント1件

989
NAME IS NULL[sage]   投稿日:2015/01/26 14:12:00  ID:???.net(852)
select A.果物 as A_果物, B.果物as B_果物 from 〜

990
976[sage]   投稿日:2015/01/26 14:20:07  ID:???.net(852)
>988,978
なるほどこういう機能があったんですね
素早いご回答ありがとうございます。

991
NAME IS NULL[sage]   投稿日:2015/02/05 01:49:01  ID:???.net(852)
MySQL 3.23.58 を使用しているのですが、そろそろヤバいので
5.5 にアップデートしようと思っています。

1つのメジャーバージョンの間であれば、データベースファイルが
自動的にアップグレードできるようですが、そのバージョンは
4.0.30、4.1.25、5.0.96、5.1.73、5.5.42
で最適ですか? 間に挟むべきバージョンはありますか?

mysqldump を使う方法も検討していますが、文字コードがまちまちで
sjis を無理矢理バイナリとして格納している古いデータベースとかが
あるので、できれば避けたいです。

環境は Windows 2000 SP4 で、サーバー、クライアントは同じマシン、
主に使用しているクライアントは PHP 5.3.29、Perl 5.12.5 です。
用途は Web の開発用で、ODBC は使用していません。

もっとこうした方がいいとか、助言があればよろしくお願いします。
コメント2件

992
NAME IS NULL[sage]   投稿日:2015/02/05 06:46:52  ID:???.net(852)
>991
どんなパッケージでもいえることだけど、こういうのを順に追っかけるのが一番の近道だと思う。
互換性のない変更もあるから、アップグレードするたびにチェックすること。
http://dev.mysql.com/doc/refman/5.5/en/upgrading-from-previous-ser...

windowsならこれも。
やったことはないけど細かく手順を書いてくれててやさしさを感じた。
http://dev.mysql.com/doc/refman/5.5/en/windows-upgrading.html

あとWindows2000なんてすっかりサポート対象外だろうから、いろいろ覚悟したほうがいいかと。
コメント1件

993
NAME IS NULL[sage]   投稿日:2015/02/05 10:54:14  ID:???.net(852)
>991
> 文字コードがまちまちで
> sjis を無理矢理バイナリとして格納している

4.1以上へのアップグレードはこういうの直さないとうまくいかないから
アプリ修正も視野に入れた方がいいです
コメント1件

994
NAME IS NULL[sage]   投稿日:2015/02/05 12:47:30  ID:???.net(852)
>986
そう?
Win2kは、まだ10台くらいある
Xpは30台くらい
うちは全部で200台くらいだけど、そのくらいの規模で一々MSのご都合に合わせてPC全部買い換えるとこがどれくらいあるんだろ。
コメント1件

995
NAME IS NULL[sage]   投稿日:2015/02/05 12:52:30  ID:???.net(852)
200台ってクライアントじゃないの?MySQL入れるの?
まあそれでもクライアントならパフォーマンスやハードのサポート切れたりするから
Win2kはないなあさすがに
コメント1件

996
NAME IS NULL[sage]   投稿日:2015/02/05 12:58:34  ID:???.net(852)
>995
975の話しの流れは、クライアントの話しだよ
クライアントがWin2kで、ODBC接続する話しの流れからだから。

997
NAME IS NULL[sage]   投稿日:2015/02/05 15:27:18  ID:???.net(852)
>994
いろいろ言いたいけど、ピンポイントでいうなら、なぜ買い換えるという発想になるの?
コメント1件

998
NAME IS NULL[sage]   投稿日:2015/02/05 17:12:45  ID:???.net(852)
>997
なんでこんな関係ない話しを広げようとするのか分からないけど・・・
買い換えるという発想にならないから、Win2kやXPも残っているという話しなんですが。
どうして、これに食いつくのか理解出来ない。
コメント1件

999
NAME IS NULL[sage]   投稿日:2015/02/05 18:32:48  ID:???.net(852)
>998
食いついたとか、広げようとか、そんな豪勢なもんじゃないよ。
何でPCを買い換えるんだろうなって思っただけで。
管理者じゃないんだろうし、どうでもいい話でした。

1000
NAME IS NULL[sage]   投稿日:2015/02/06 00:14:36  ID:???.net(852)
普通OS入れ替えだよね

1001
980[sage]   投稿日:2015/02/06 01:55:35  ID:???.net(852)
>992 >993
どうもありがとうございます。

今日確認したところ、Windows 2000 は安定してますが CRT がそろそろ
逝ってしまいそうな感じでしたので、当初予定していたアップデートを
あきらめて、現行のサイトを保管しているマシンにデータベース単位で
同居させることにしました。

移転先は Windows 7 に MySQL 4.1.25 がインストール済みです。

ここは慎重に data ディレクトリ丸ごとのコピーはせずに mysqldump を
使うやり方を採用することにしました。

いざダンプした取り込もうとしたところ sjis のテーブルの取り込みで
いきなりエラーが出てうまくいきませんでした。

エラーが出る箇所を見ると '十' とか2バイト目が 0x5C になる文字の
後ろに \ が入って '十\' になってるんですよね。

確か 3.23.58 のころは INSERT INTO t VALUES ('十\') にするのが
正解だった気がするので、これが入らないとなるとコードの方もかなり
直す必要が出てきそうです。

最近は 4.1.25 で utf8 しか使ってないので、こういう不自然な処理を
普通にしてたのを久しぶりに思い出しました。

まあ、とりあえず叩けば映るので、必要に迫られるかさくっと挿入できる
いい案が浮かぶまで温存させておくことにします。
コメント1件

1002
958[sage]   投稿日:2015/02/06 08:25:23  ID:???.net(852)
>1001
CSVに落して、CSVファイルをインポートするっていう形はどうですか?
テーブル名が日本語の場合、エンコードが違うことでSQL文の実行で失敗することもありますが、半角英数のテーブル名であれば、これで移行できるかもしれません。

CSVにエクスポート
str = "select * from " & TableName(cnt) & " "
str = str & "into outfile 'C:\" & TableName(icnt) & ".csv' "
str = str & "fields terminated by '\,' "
str = str & "enclosed by '\'' ;"
''SQL実行
ado.Execute str, result

CSVからインポート
str = "load data "
str = str & "infile 'C:\" & TableName(cnt) & ".csv' "
str = str & "into table " & TableName(cnt) & " "
str = str & "fields terminated by '\,' "
str = str & "enclosed by '\'' ;"
''SQL実行
v_ado_conn.Execute str, result

1003
958[sage]   投稿日:2015/02/06 18:15:22  ID:???.net(852)
ごめんなさい。
手持ちのソースからコード抜粋したので余計な部分も載ってます。
SQL文だけ参考にしてみてください

1004
NAME IS NULL[sage]   投稿日:2015/02/07 04:42:09  ID:???.net(852)
日本語の表示で、枠線の位置がずれるのは何が原因かな?
文字コードはmysqlもphpもsshも全部utf8なんだけど。。。
http://i.imgur.com/DEvIins.jpg

1005
NAME IS NULL[sage]   投稿日:2015/02/07 04:57:35  ID:???.net(852)
ターミナルの設定の問題。CJKの文字幅設定がどっかにあるじゃろ。

1006
NAME IS NULL[sage]   投稿日:2015/02/07 22:44:08  ID:???.net(852)
Cjkにチェックを入れても変わらないですね。。

1007
NAME IS NULL[sage]   投稿日:2015/02/07 22:46:56  ID:???.net(852)
あ、ぱっと見でCJKの問題だろうとは思ったんだけど、それってmysqlが作ってる表自体がずれてるって話かな。
ならmysqlの出力設定になんかあるんでないの
コメント1件

1008
NAME IS NULL[sage]   投稿日:2015/02/08 01:21:41  ID:???.net(852)
>1007
そうなんですよ。mysqlの出力の表が日本語が含まれてるとずれるんです
この設定であってますよね?
http://i.imgur.com/SzMcSA5.jpg
コメント1件

1009
NAME IS NULL[sage]   投稿日:2015/02/09 00:41:09  ID:???.net(852)
>1008
確かMySQL 5.6で直った気がする

1010
NAME IS NULL[sage]   投稿日:2015/02/10 00:14:24  ID:???.net(852)
更新情報
・スレッド一覧ページで過去ログのタイトル検索・一覧表示ができるようになりました(2016/1/20)
NGワード登録
登録する
スレッド内検索

データベース板 タイトル検索

このスレッドが人気です(実況系)
炎の体育会TV 出た!!初の完全制覇!攻略したのは一体誰だSP ★4 (995)TBS実況
めちゃ2イケてるッ!やべ寿司シュウ活SP ★2 (348)フジ実況
のどじまんTHEワールド!★4 (911)NTV実況
池上彰のニュースそうだったのか!! 2時間スペシャル ★4 (506)テレ朝実況
【マターリ】ブラタモリ「#91 室蘭」 (945)NHK実況
ブラタモリ「#91 室蘭」★5 (209)NHK実況
【マターリ】のどじまん THE ワールド! (482)NTV実況
名探偵コナン「さざ波の魔法使い(後編)」★4 (889)NTV実況
このスレッドが人気です(ニュース系)
【調査結果】フェイクニュースは右派、保守系言論人に多い(朝日新聞)★4 (768)ニュー速+
【話題】会社のウォーターサーバー「正社員以外禁止」…派遣社員と差をつけることは違法? (653)ニュー速+
【相撲】大相撲十一月場所十四日目 前人未到!白鵬2場所ぶり40回目優勝!遠藤を圧倒 八角コンビ両者土…北勝富士・隠岐3敗目脱落 (990)音楽・芸能ニュース
【速報】安倍首相、信濃町で入院か!? (198)ニュー速+
【朝日新聞】フェイクニュースは右派に多い★3 (1001)ニュー速+
【富の再分配】「ベーシックインカム」いくらが適正?「月28万円」のスイスでは…高すぎて「働かなくなった国」も★3 (415)ニュー速+
【富の再分配】「ベーシックインカム」いくらが適正?「月28万円」のスイスでは…高すぎて「働かなくなった国」も★2 (1001)ニュー速+
「一番大事にしていた」 交際相手の男性(49)のコレクション「魔法少女リリカルなのは」などの未開封DVDを無断で転売した女(23)を逮捕★4 (1001)ニュー速+
データベース板の人気スレ
Oracle 質問総合スレ13 (229)
SQL質疑応答スレ 17問目 (942)
PostgreSQL Part.11 (409)
MySQL 総合 Part26 (70)
Oracle 質問総合スレ9 (986)
MySQL 総合 Part24 (1010)
Oracle 質問総合スレ10 (1014)
SQL質疑応答スレ 15問目 (1013)
Microsoft SQL Server 総合スレ 11 (564)
はじまりです。 (585)
XML統合スレッド (397)
だれかみずほ銀行のDBを直してやれよ (54)
この板が生き残るために (58)
新しい板の名前を決めるスレ (63)
SQLite Part.10 (655)
♪つっかもうぜ!DB! (122)
RDBMS比較総合スレ 【サーバ】 (131)
OODB - オブジェクト指向データベース (302)
   D       B         (138)
このサイトについて
このサイトは2ちゃんねるからデータを取得し、表示するサービスです。
画像のインライン表示機能について
画像のURLの後ろにある[画像をインライン表示]をクリックすると、URLの下に表示します。
表示される画像は横幅100pxに縮小されていて、クリックすると原寸で表示します。
このサイトの特徴
1)スレッド内検索ができます
2)レス(「>>1」など)のポップアップができます
3)不適切な言葉を含む投稿を表示しません
4)ページ内で画像を直接表示できます
5)2ch他スレッドへのリンクはタイトル・板名つきでリンクします
6)すっきりとしたデザインで表示します
7)最新スレや前スレをチェック・一覧表示します
8)NGワード機能の搭載でイヤな言葉が目に入りません
9)荒らしを自動チェックします
10)スレッド内・同一IDの書き込みだけ表示できます
11)レスの返事をレスされた発言の下に表示する「まとめビュー」が利用できます
12)シリーズ化したスレッドの一覧を表示します
13)最新のスレッドがある場合はお知らせします
削除について
こちらをご覧ください
機能要望について
現在機能要望受付中です。
問い合わせについて
こちらのページからどうぞ
広告


首都圏の方、ソフトバンク光オススメですよ


このサイトは2ch.scからデータを取得・表示しています。削除などについてはこちらをご覧ください。 アクセスモード:差分取得 - 新着書き込みなし(304)