私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレMySQL 総合 Part19
mysql スレッド一覧へ / mysql とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
>>894
ぐぐれカスと言わざるを得ない
ぐぐれカスと言わざるを得ない
>>901
ググらなくてもエラー見ればどこを直せばいいかはわかるという・・・
ググらなくてもエラー見ればどこを直せばいいかはわかるという・・・
>>903
この程度の英語で辞書とか釣りだろ?
この程度の英語で辞書とか釣りだろ?
質問です。phpからの操作になりますが、
id varchar(8), a00001 boolean, a00002 boolean・・・みたいなテーブルがあります
(フィールドの数字は飛び飛びです、boolean型のフィールドは数百あります)
ここでinsert文で特定の項目にだけ情報を入れることはできますか?
例えばa00100とa00300にだけtrueを入れて、後は全部falseみたいな時に(idにも適切な値を入れる)
どのようにinsert文を作るのがよいでしょうか?
「このフィールド名を持つフィールドは前から何番目か」というのがわかれば、php側でなんとかできそうですが・・・
id varchar(8), a00001 boolean, a00002 boolean・・・みたいなテーブルがあります
(フィールドの数字は飛び飛びです、boolean型のフィールドは数百あります)
ここでinsert文で特定の項目にだけ情報を入れることはできますか?
例えばa00100とa00300にだけtrueを入れて、後は全部falseみたいな時に(idにも適切な値を入れる)
どのようにinsert文を作るのがよいでしょうか?
「このフィールド名を持つフィールドは前から何番目か」というのがわかれば、php側でなんとかできそうですが・・・
>>913
`
`
mysqlが起動するmysqldの優先度(nice)を、
いつも -1 に固定するような設定を、
/etc/security/limits.conf でできませんか?
MySQL 5.1や5.5では、my.cnf にて nice=-1 とすれよかったのですが、
MariaDB(5.2.6使用ですが, これに限らす) ではこれが機能しないのです。
よろしくお願いします。
いつも -1 に固定するような設定を、
/etc/security/limits.conf でできませんか?
MySQL 5.1や5.5では、my.cnf にて nice=-1 とすれよかったのですが、
MariaDB(5.2.6使用ですが, これに限らす) ではこれが機能しないのです。
よろしくお願いします。
mysqldumpの書き方で質問です。
特定のテーブルのみを指定したくて、以下のように書きました。
mysqldump --host=localhost -- user=ユーザ名 --password=パスワード DB名 user* admin* | gzip > ファイル名.gz
しかし、バックアップファイルは出来ません。
テーブル名にワイルドカードを指定できないのでしょうか?
特定のテーブルのみを指定したくて、以下のように書きました。
mysqldump --host=localhost -- user=ユーザ名 --password=パスワード DB名 user* admin* | gzip > ファイル名.gz
しかし、バックアップファイルは出来ません。
テーブル名にワイルドカードを指定できないのでしょうか?
/var/lib/mysqlを丸ごとコピーすればバックアップできると思うのですが、
敢えてmysqldumpを選ぶ理由って何かあるのでしょうか?
敢えてmysqldumpを選ぶ理由って何かあるのでしょうか?
MySQLのSQLで質問があります。
回答して頂ける方が居られれば、宜しくお願いします。
下記の3つのテーブルがあり、itemごとに複数のcotegoryを設定できるため、
rel_item_categoryでitemとcategoryを紐付けています。
レコード数はdat_itemが5万行、dat_categoryが20行、rel_item_categoryが15万行です。
dat_item
- item_id
- price
- date
dat_category
- category_id
- name
rel_item_category
- item_id
- category_id
回答して頂ける方が居られれば、宜しくお願いします。
下記の3つのテーブルがあり、itemごとに複数のcotegoryを設定できるため、
rel_item_categoryでitemとcategoryを紐付けています。
レコード数はdat_itemが5万行、dat_categoryが20行、rel_item_categoryが15万行です。
dat_item
- item_id
- price
- date
dat_category
- category_id
- name
rel_item_category
- item_id
- category_id
category_idが1かつdateが指定日時以下のitemをpriceでソートして取得したいため、
下記のクエリを発行しました。
SELECT dat.*
FROM dat_item AS dat
INNER JOIN(SELECT item_id FROM rel_item_category WHERE category_id = '1' GROUP BY item_id) AS rel
ON dat.item_id = rel.item_id
WHERE dat.date < '2011-06-03 02:21:00'
ORDER BY dat.price
意図した結果が取得できますが、
EXPLAINで確認したところ、Using temporary; Using filesortになっており、
relとdatが結合したあとでソートされているようで、非常にコストがかかっています。
下記のクエリを発行しました。
SELECT dat.*
FROM dat_item AS dat
INNER JOIN(SELECT item_id FROM rel_item_category WHERE category_id = '1' GROUP BY item_id) AS rel
ON dat.item_id = rel.item_id
WHERE dat.date < '2011-06-03 02:21:00'
ORDER BY dat.price
意図した結果が取得できますが、
EXPLAINで確認したところ、Using temporary; Using filesortになっており、
relとdatが結合したあとでソートされているようで、非常にコストがかかっています。
>>924 >>925 の続きです。
SELECT item_id FROM rel_item_category WHERE category_id = '1' GROUP BY item_id
この結果のテーブルrel_item_category_1をつくり、下記クエリを発行したところ
結合前のdat_itemでインデックスを使用してソートできました。
SELECT dat.*
FROM dat_item AS dat
INNER JOIN rel_item_category_1 AS rel
ON dat.item_id = rel.item_id
WHERE dat.date < '2011-06-03 02:21:00'
ORDER BY dat.price
最初に提示した3つテーブルだけで
「category_idが1かつdateが指定日時以下のitemをpriceでソートして取得」を高速に行うことはできないのでしょうか?
SELECT item_id FROM rel_item_category WHERE category_id = '1' GROUP BY item_id
この結果のテーブルrel_item_category_1をつくり、下記クエリを発行したところ
結合前のdat_itemでインデックスを使用してソートできました。
SELECT dat.*
FROM dat_item AS dat
INNER JOIN rel_item_category_1 AS rel
ON dat.item_id = rel.item_id
WHERE dat.date < '2011-06-03 02:21:00'
ORDER BY dat.price
最初に提示した3つテーブルだけで
「category_idが1かつdateが指定日時以下のitemをpriceでソートして取得」を高速に行うことはできないのでしょうか?
>>923
1つのファイルに収まる、圧縮して容量も劇的に減らして残しておける。
あとはDB全体をリストアするなど。
(mysqldump→全データベース削除、関連ファイル初期化→インポートしたらまっさらな状態からテーブルが作られる)
1つのファイルに収まる、圧縮して容量も劇的に減らして残しておける。
あとはDB全体をリストアするなど。
(mysqldump→全データベース削除、関連ファイル初期化→インポートしたらまっさらな状態からテーブルが作られる)
なるほどね…。
このケースだとそのような疑問がでるのか…。
ご報告ありがおう。
色々と勉強になりました。
このケースだとそのような疑問がでるのか…。
ご報告ありがおう。
色々と勉強になりました。
SELECT dat.*
FROM dat_item dat
INNER JOIN rel_item_category rel ON dat.item_id = rel.item_id
WHERE rel.category_id = '1'
AND dat.date < '2011-06-03 02:21:00'
ORDER BY dat.price;
だと何か問題あるのか
FROM dat_item dat
INNER JOIN rel_item_category rel ON dat.item_id = rel.item_id
WHERE rel.category_id = '1'
AND dat.date < '2011-06-03 02:21:00'
ORDER BY dat.price;
だと何か問題あるのか
>>922
「出来る方法があるのではないか?と思って質問した次第です・・。
データベース内にいくつもテーブルを作っているケースってあるでしょうし、
必要なテーブル名を全て列挙するのも面倒と思いまして。
それしか方法がないなら納得しますが、他に方法はあるのではないか?
自分が知らない事があれば教えて欲しい。そう思って質問しました。
「出来る方法があるのではないか?と思って質問した次第です・・。
データベース内にいくつもテーブルを作っているケースってあるでしょうし、
必要なテーブル名を全て列挙するのも面倒と思いまして。
それしか方法がないなら納得しますが、他に方法はあるのではないか?
自分が知らない事があれば教えて欲しい。そう思って質問しました。
バッククォートってキーボードでどうやって入力すればいいのでしょうか。
Shift+@
と昨日教わりましたが、
‘
このように表示されてしまいます。
なお、IMEはPCに入っていたものを使っています。
Shift+@
と昨日教わりましたが、
‘
このように表示されてしまいます。
なお、IMEはPCに入っていたものを使っています。
` ←Shift + @
‘ ←IME on で Shift + @
結論:IME切れ、ハゲ
‘ ←IME on で Shift + @
結論:IME切れ、ハゲ
IMEを切れとのことですが、切るとはどのような行為を示していますか?
切るとハゲに関係があるのかしらん?
切るとハゲに関係があるのかしらん?
つまらない事聞きますけど、「PC用」「携帯用」とフィールドを分けるとき、
どういうフィールド名にしていますか?
電話番号の場合、telはPC用として、携帯はmobile_tel?ktai_tel?
どういうフィールド名にしていますか?
電話番号の場合、telはPC用として、携帯はmobile_tel?ktai_tel?
サーバのバージョン: 5.1.44-community
MySQL クライアントのバージョン: mysqlnd 5.0.5-dev
とかいうときMySQL Connector Netはどのバージョンをインストールしたらいいのでしょうか?
MySQL クライアントのバージョン: mysqlnd 5.0.5-dev
とかいうときMySQL Connector Netはどのバージョンをインストールしたらいいのでしょうか?
>>936
好きなようにしたら?としかいいようがないけどw
そういう事は↓で話ししたほうが宜しいのでは?
DB設計を語るスレ 3
http://hibari.2ch.net/test/read.cgi/db/1269585561/l50
好きなようにしたら?としかいいようがないけどw
そういう事は↓で話ししたほうが宜しいのでは?
DB設計を語るスレ 3
http://hibari.2ch.net/test/read.cgi/db/1269585561/l50
すみません。
http://www.inter-office.co.jp/contents/170/
こちらの記事を見たのですが、
InnoDBについて一番大事なことは主キーがクラスターインデックスだということです。
とのことで、
InnoDBであれば、主キーにはインデックスを設定しなくても、
勝手にクラスターインデックスが付いてインデックスを使った検索ができるという認識でいいのでしょうか。
よろしくお願いします。
http://www.inter-office.co.jp/contents/170/
こちらの記事を見たのですが、
InnoDBについて一番大事なことは主キーがクラスターインデックスだということです。
とのことで、
InnoDBであれば、主キーにはインデックスを設定しなくても、
勝手にクラスターインデックスが付いてインデックスを使った検索ができるという認識でいいのでしょうか。
よろしくお願いします。
>>940
の続きです。
外部キーについても、
主キー制約 ・・・一意なインデックスを生成する
外部キー制約・・・インデックスを生成する
一意制約 ・・・一意なインデックスを生成する
http://wiki.minaco.net/index.php?MySQL%2F%E5%88%B6%E7%B4%84
とのことで、
制約を付けた時点でインデックスが設定されているということでいいのでしょうか。
度々すみませんがよろしくお願い致します。
の続きです。
外部キーについても、
主キー制約 ・・・一意なインデックスを生成する
外部キー制約・・・インデックスを生成する
一意制約 ・・・一意なインデックスを生成する
http://wiki.minaco.net/index.php?MySQL%2F%E5%88%B6%E7%B4%84
とのことで、
制約を付けた時点でインデックスが設定されているということでいいのでしょうか。
度々すみませんがよろしくお願い致します。
>>941
なんかオプションをつけるとだいたいインデックスがつく
なんかオプションをつけるとだいたいインデックスがつく
主キーにはインデックスをはらなくてもって、
主キーこそがインデックスだと思うんだが、
自分の認識間違ってるのか。
主キーこそがインデックスだと思うんだが、
自分の認識間違ってるのか。
>>943
お前の場合は人生そのものが間違いだ
お前の場合は人生そのものが間違いだ
正規化によって繰り返し項目を別表に分けた後は、どのように結合すればよいでしょうか??
SQL文を2つに分けたら解決しますが、1つで出来ないでしょうか?
table1
id,table2id,name
table2
id,data
table1id name data1 data2...
1 'abc' 'abcの趣味1' 'abcの趣味2'...
SQL文を2つに分けたら解決しますが、1つで出来ないでしょうか?
table1
id,table2id,name
table2
id,data
table1id name data1 data2...
1 'abc' 'abcの趣味1' 'abcの趣味2'...
>>937
Connector/Net, Connector/Jはクライアントライブラリ使わないので、サーバ側にあわせて何でもよいよ。
サーバ側5.1ならConnector/Netの最新版(6.3.6)でいいんじゃね?
Connector/Net, Connector/Jはクライアントライブラリ使わないので、サーバ側にあわせて何でもよいよ。
サーバ側5.1ならConnector/Netの最新版(6.3.6)でいいんじゃね?
>>946
left join
left join
基本的には複数行で取得するのが一般的だな。
どのみち「abcの趣味」が複数あるわけだからプログラム側でうまく処理すればいい。
どのみち「abcの趣味」が複数あるわけだからプログラム側でうまく処理すればいい。
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / mysql スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- MySQL 総合 Part12 (1001) - [94%] - 2008/1/30 17:34 ○
- MySQL 総合 Part13 (996) - [94%] - 2008/6/10 21:02 ☆
- MySQL 総合 Part14 (1001) - [94%] - 2008/11/23 10:17 ☆
- MySQL 総合 Part15 (1001) - [94%] - 2009/4/20 12:15 ☆
- MySQL 総合 Part17 (1001) - [94%] - 2010/6/10 20:47 ○
- MySQL 総合 Part18 (986) - [94%] - 2011/1/17 15:46
- MySQL 総合 Part26 (860) - [89%] - 2023/2/2 9:30
- MySQL 総合 Part20 (995) - [89%] - 2011/10/17 4:48
- MySQL 総合 Part21 (1001) - [89%] - 2011/12/25 22:16
- MySQL 総合 Part22 (1001) - [89%] - 2012/7/10 16:45
- MySQL 総合 Part23 (992) - [89%] - 2013/8/11 17:00
- MySQL 総合 Part24 (1010) - [89%] - 2015/2/14 4:46
- MySQL 総合 Part25 (947) - [89%] - 2017/6/18 6:30
- MySQL vs PostgreSQL Part2 (941) - [31%] - 2022/5/26 1:30 ○
トップメニューへ / →のくす牧場書庫について