私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレMySQL 総合 Part23
mysql スレッド一覧へ / mysql とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
>>152
何か参考書買わなくてもネットに色んな知識が転がってるからいいかなって
何か参考書買わなくてもネットに色んな知識が転がってるからいいかなって
複数レコードの結果を取得する例として、
mysql_fetch_assocをwhileループに突っ込んで何度も実行して取得してる例をよく見かけるんですが、
これって一般的な方法ですか?
SQLITEいじってたときは、sqlite_array_queryで複数レコードを一発で配列として取得できてたので、効率悪い気がするんですが
mysql_fetch_assocをwhileループに突っ込んで何度も実行して取得してる例をよく見かけるんですが、
これって一般的な方法ですか?
SQLITEいじってたときは、sqlite_array_queryで複数レコードを一発で配列として取得できてたので、効率悪い気がするんですが
普通の流れ
1. query 投げる
2. データなしまで fetch する
3. データを取り出して処理
4. 2に戻る
sqlite_array_query て使ったことないけど
内部でこんな処理をやっている筈
1. query 投げる
2. データなしまで fetch する
3. データを取り出して処理
4. 2に戻る
sqlite_array_query て使ったことないけど
内部でこんな処理をやっている筈
>>160
お前はゴミバカ光線卒以下の蛆虫かいな(爆笑)
中卒か?( ´Д`)y━・~~
とにかくゴキ光線以下の畜生だということわわかるでぇ(爆笑)
ホンマ雑魚がわらわら寄ってくるな(爆笑)この板は(爆笑)( ´Д`)y━・~~
お前はゴミバカ光線卒以下の蛆虫かいな(爆笑)
中卒か?( ´Д`)y━・~~
とにかくゴキ光線以下の畜生だということわわかるでぇ(爆笑)
ホンマ雑魚がわらわら寄ってくるな(爆笑)この板は(爆笑)( ´Д`)y━・~~
>>153
エキスパートのためのMySQL[運用+管理]トラブルシューティングガイド
実践ハイパフォーマンスMySQL 第2版
Linux-DB システム構築/運用入門
読みことをオススメする。
ネットに転がってるのは初歩的なものばかり、有用な情報がないことはないが辿り着くのに時間がかかる。
英語が読めるならもっといい情報も取り入れれるけどね。
結局今のところは本の方が勉強に適している。
エキスパートのためのMySQL[運用+管理]トラブルシューティングガイド
実践ハイパフォーマンスMySQL 第2版
Linux-DB システム構築/運用入門
読みことをオススメする。
ネットに転がってるのは初歩的なものばかり、有用な情報がないことはないが辿り着くのに時間がかかる。
英語が読めるならもっといい情報も取り入れれるけどね。
結局今のところは本の方が勉強に適している。
>>166
ありがとうメモっとく
ありがとうメモっとく
selectでただ単に「上から」なら select * from hoge limit 0,1、1,1で取得できるんですが
UPDATEで同じような事できないんでしょうか?
update hoge set age=sage limit 0,1、1,1のような
UPDATEで同じような事できないんでしょうか?
update hoge set age=sage limit 0,1、1,1のような
update にも limit あるよ
しかし select もそうだけど何がヒットするかわからんクエリを
よく平気で投げられるな
しかし select もそうだけど何がヒットするかわからんクエリを
よく平気で投げられるな
とりあえず値を付けておくって感じなんで順番は大丈夫です
$sql = "UPDATE `table` SET `hoge` = 'val' LIMIT 0,1";
これで無理だったんですが
Client API version
5.0.95
$sql = "UPDATE `table` SET `hoge` = 'val' LIMIT 0,1";
これで無理だったんですが
Client API version
5.0.95
やっぱりですか・・・。
全て重複するレコードがあるので
判別する為にprimary_keyみたいなのをとりつけようと思ったのですが
既にレコードがあるので後から付ける事は出来ないですし、上から一つずつ取り出して値付けていくしかないかなと思い
全て重複するレコードがあるので
判別する為にprimary_keyみたいなのをとりつけようと思ったのですが
既にレコードがあるので後から付ける事は出来ないですし、上から一つずつ取り出して値付けていくしかないかなと思い
いや、該当レコードを特定する手段を考えればいいだろ
やり方がそもそもおかしいし、途中を選ぶ必要なんてないだろう。
やり方がそもそもおかしいし、途中を選ぶ必要なんてないだろう。
UPDATE一発で連番を一気につける方法はあるけど、
そもそも>>175の件だって、既に登録したものはWHEREではじけばいいだけだろう。
そもそも>>175の件だって、既に登録したものはWHEREではじけばいいだけだろう。
-からスタートするのとかはみた事無いが
理論的には可能、ただしやる必要性がねぇ
理論的には可能、ただしやる必要性がねぇ
プライマリーキーを削除しようとして
alter table test drop primary key;
ってやったらクエリOKって出たんですが、
show columnsやdescコマンドでカラム情報を見るとまだ、keyのところにPRIって書いてるんですが、
これって本当にプライマリーキー削除されてるんですか?
ちなみにもう一度削除しようとすると、
「削除できません。そのキーが削除されてるか各二にしろ」ってエラーが出ます。
alter table test drop primary key;
ってやったらクエリOKって出たんですが、
show columnsやdescコマンドでカラム情報を見るとまだ、keyのところにPRIって書いてるんですが、
これって本当にプライマリーキー削除されてるんですか?
ちなみにもう一度削除しようとすると、
「削除できません。そのキーが削除されてるか各二にしろ」ってエラーが出ます。
MySQLを数日起動させておくと、Key_blocks_unusedが徐々に0になっていくんですが
これは単に割り当ててるメモリが足りてないって事ですか?
メモリが足りていれば、どこかのラインで増えたり減ったりの均衡状態に入るものですか?
これは単に割り当ててるメモリが足りてないって事ですか?
メモリが足りていれば、どこかのラインで増えたり減ったりの均衡状態に入るものですか?
質問です
phpでmysqlの`time`テーブルにUNIX時間の形式で
`hoge`
1352164724
1352164824
1352164124
を10万件程保存しておいて
これらの時間帯での個数を調べたいのですが
SELECT `hoge` FROM `time`
で全部取り出してからphpで全ての時間帯を調べるのと、MySQLで時間帯調べるのどっちが早いのでしょうか?
それともこんな事やってる自体設計ミスであり、01時、22時と最初から記録しておくべきなのでしょうか?
phpでmysqlの`time`テーブルにUNIX時間の形式で
`hoge`
1352164724
1352164824
1352164124
を10万件程保存しておいて
これらの時間帯での個数を調べたいのですが
SELECT `hoge` FROM `time`
で全部取り出してからphpで全ての時間帯を調べるのと、MySQLで時間帯調べるのどっちが早いのでしょうか?
それともこんな事やってる自体設計ミスであり、01時、22時と最初から記録しておくべきなのでしょうか?
1カラム目をidって言う名前でprimary keyとauto_incrementを設定してるんですが、
5カラム目の値を
update test set aaa = 1 where id = 1;
って指定するんですが、
duplicate entry 1 for key primary
ってエラーがでます。
別に1カラムめのIDを変更しようとしてるわけじゃないんですがなぜでしょうか?
5カラム目の値を
update test set aaa = 1 where id = 1;
って指定するんですが、
duplicate entry 1 for key primary
ってエラーがでます。
別に1カラムめのIDを変更しようとしてるわけじゃないんですがなぜでしょうか?
>>188は忘れてください
別の質問なんですが、主キーが削除されません。
alter table drop primary key
でクエリおkって出て、もう一度削除しようとするとプライマリキーがありませんって出るんですが、
show columnsやdescで見るとkeyのカラムにまだPRIってかかれています。
どうやったら消えるのでしょうか?
別の質問なんですが、主キーが削除されません。
alter table drop primary key
でクエリおkって出て、もう一度削除しようとするとプライマリキーがありませんって出るんですが、
show columnsやdescで見るとkeyのカラムにまだPRIってかかれています。
どうやったら消えるのでしょうか?
>>187
設計ミスの可能性99%
設計ミスの可能性99%
>>189はとりあえずカラムごと消して作り直したらプライマリキー消えました
でもalter tableで消えないのは納得してないので原因わかるかたいたら教えてください
でもalter tableで消えないのは納得してないので原因わかるかたいたら教えてください
ふと思ったが1000万件の大規模なdatetime型を「毎月5日」「水曜日」を検索すると数秒かかるが
datetimeの他に月(1-12)日、(1-31)、曜日(0-6)
と三つのカラムをint型で作って保存したらめちゃくちゃ高速にならないか?
datetimeの他に月(1-12)日、(1-31)、曜日(0-6)
と三つのカラムをint型で作って保存したらめちゃくちゃ高速にならないか?
>>194
オプティマイザーは基本的に1つしかインデックスを使わないから、
検索クエリに準じただけインデックス作る羽目に遭うのでオススメできない。
○月×日、○月の△曜日、月日問わず△曜日だけ…だけでも3つ必要になる。
datetimeをパーティションキーにしてパーティションするのが良いんじゃない?
オプティマイザーは基本的に1つしかインデックスを使わないから、
検索クエリに準じただけインデックス作る羽目に遭うのでオススメできない。
○月×日、○月の△曜日、月日問わず△曜日だけ…だけでも3つ必要になる。
datetimeをパーティションキーにしてパーティションするのが良いんじゃない?
> オプティマイザーは基本的に1つしかインデックスを使わないから
へー、初耳
パーティショニングするにしてもtableが100個以上あったら設計ミスだから
1秒以内とかは難しいか
へー、初耳
パーティショニングするにしてもtableが100個以上あったら設計ミスだから
1秒以内とかは難しいか
試せっていわないでください
insert into test values(select id from abc where str = 's')
みたいにvaluesに直接selectの実行結果をいれることは可能でしょうか?
insert into test values(select id from abc where str = 's')
みたいにvaluesに直接selectの実行結果をいれることは可能でしょうか?
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / mysql スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- MySQL 総合 Part25 (947) - [94%] - 2017/6/18 6:30
- MySQL 総合 Part24 (1010) - [94%] - 2015/2/14 4:46
- MySQL 総合 Part13 (996) - [94%] - 2008/6/10 21:02 ☆
- MySQL 総合 Part22 (1001) - [94%] - 2012/7/10 16:45
- MySQL 総合 Part26 (860) - [94%] - 2023/2/2 9:30
- MySQL 総合 Part21 (1001) - [94%] - 2011/12/25 22:16
- MySQL 総合 Part20 (995) - [94%] - 2011/10/17 4:48
- MySQL 総合 Part12 (1001) - [89%] - 2008/1/30 17:34 ○
- MySQL 総合 Part18 (986) - [89%] - 2011/1/17 15:46
- MySQL 総合 Part14 (1001) - [89%] - 2008/11/23 10:17 ☆
- MySQL 総合 Part15 (1001) - [89%] - 2009/4/20 12:15 ☆
- MySQL 総合 Part17 (1001) - [89%] - 2010/6/10 20:47 ○
- MySQL 総合 Part19 (982) - [89%] - 2011/6/9 2:33
- MySQL vs PostgreSQL Part2 (941) - [36%] - 2022/5/26 1:30 ○
トップメニューへ / →のくす牧場書庫について