私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレMySQL 総合 Part17

みんなの評価 : ○
レスフィルター : (試験中)
countのために別SQL発行することででコストがかかると思う人は多いけど
件数によってはselectで最終行までフェッチする方がよほど負荷がかかるので
結果的にはcountの方が軽いことが多い。
件数によってはselectで最終行までフェッチする方がよほど負荷がかかるので
結果的にはcountの方が軽いことが多い。
ID | DATA
-----------
1 aaaa
2 aaaa
3 bbbb
4 aaaa
とあったときに
DATAカラムで一番多いデータから取るにはどうすればいいでしょうか?
多い順にランキングにしたいのです
-----------
1 aaaa
2 aaaa
3 bbbb
4 aaaa
とあったときに
DATAカラムで一番多いデータから取るにはどうすればいいでしょうか?
多い順にランキングにしたいのです
>>559
えーと、実装というかアプリの仕様によるけどさ
たとえばGoogleの検索結果みたいなことをやりたいとして
トータル1万件中先頭の10件を表示してますと。
そこで、検索時点で何件かわからないので全件フェッチ
しましたなんてアフォな実装しないでしょ?
トータル件数を知りたいのは大抵フェッチ前で
最終行に行った後にはむしろどうでもいい情報じゃん?
そういうことをやりたいって話じゃないの?
えーと、実装というかアプリの仕様によるけどさ
たとえばGoogleの検索結果みたいなことをやりたいとして
トータル1万件中先頭の10件を表示してますと。
そこで、検索時点で何件かわからないので全件フェッチ
しましたなんてアフォな実装しないでしょ?
トータル件数を知りたいのは大抵フェッチ前で
最終行に行った後にはむしろどうでもいい情報じゃん?
そういうことをやりたいって話じゃないの?
>>550-558あたり
ちゃんと公式(MySQL)のdocument読んでる?
っつても質問でサーバのバージョン書いてないから100%使えるとは言えないけど、例えば、
SELECT * SQL_CALC_FOUND_ROWS FROM `table` limit 10;
ってクエリを投げて、検索にマッチするのが10件以上の場合、続けて、
SELECT FOUND_ROWS();
をかければ、一回目のクエリでの合計ヒット件数が取得できる。
確かに、これも厳密に言えば二回DBにクエリを投げてることにはなるんだけど、
一回目の結果を内部的(クライアントスレッドのメモリ上?)に保存しているので、
実質二回目はDBやテーブルを触らない。
Table_TypeがMyISAMで、SELECT * FROM `table`; (whereなし)の場合は、
テーブルが格納件数をテーブルデータとは別に持っているので十分に早いが、
whereやgroup by、order by なんかを多用した時は、件数を数えるだけでも
それ相応のコスト(時間)がかかる時もよくある。
ちなみに自分の確認しているのでは、4,1系でもこのOptionは利用可能。
それより古いバージョンは知らない・・。
ちゃんと公式(MySQL)のdocument読んでる?
っつても質問でサーバのバージョン書いてないから100%使えるとは言えないけど、例えば、
SELECT * SQL_CALC_FOUND_ROWS FROM `table` limit 10;
ってクエリを投げて、検索にマッチするのが10件以上の場合、続けて、
SELECT FOUND_ROWS();
をかければ、一回目のクエリでの合計ヒット件数が取得できる。
確かに、これも厳密に言えば二回DBにクエリを投げてることにはなるんだけど、
一回目の結果を内部的(クライアントスレッドのメモリ上?)に保存しているので、
実質二回目はDBやテーブルを触らない。
Table_TypeがMyISAMで、SELECT * FROM `table`; (whereなし)の場合は、
テーブルが格納件数をテーブルデータとは別に持っているので十分に早いが、
whereやgroup by、order by なんかを多用した時は、件数を数えるだけでも
それ相応のコスト(時間)がかかる時もよくある。
ちなみに自分の確認しているのでは、4,1系でもこのOptionは利用可能。
それより古いバージョンは知らない・・。
556は多分ここを見たんだと思うなぁ
http://homepage3.nifty.com/hippo2000/perltips/dbimemo.htm#item_rows
>通常、rowsはdo またはSELECT以外(UPDATEやDELETEのようなある種の操作)のexecute または、SELECTステートメントのすべての行を取り出した後にしか、信用できません。
http://homepage3.nifty.com/hippo2000/perltips/dbimemo.htm#item_rows
>通常、rowsはdo またはSELECT以外(UPDATEやDELETEのようなある種の操作)のexecute または、SELECTステートメントのすべての行を取り出した後にしか、信用できません。
>>578
それでいけましたーどうもです。
それでいけましたーどうもです。
>>550
あるよ。PDOには用意されてるからPerlのライブらりんにもあるだろたぶん。
あるよ。PDOには用意されてるからPerlのライブらりんにもあるだろたぶん。
皆様色々と有難うございました。
私もマニュアルを鵜呑みしていたこともあるのですが、
countで対応しました。
今回のSQLがlimitなしのものであったため、同時に
件数も取れないかと思った形だったのですが、色々
とご意見いただきとても勉強になりました。
この場をお借りし御礼申し上げます。
私もマニュアルを鵜呑みしていたこともあるのですが、
countで対応しました。
今回のSQLがlimitなしのものであったため、同時に
件数も取れないかと思った形だったのですが、色々
とご意見いただきとても勉強になりました。
この場をお借りし御礼申し上げます。
カウンタ貸出サイト的な物を作ってるんですが
一人事に別々のテーブル作るってのはナンセンスですかね?
1アカウントで、複数のページのカウントをするので
user_takasi
-------------
url, カウント回数
url, カウント回数
url, カウント回数
url, カウント回数
こんな感じに使用と思ってるんですが
それともみんなまとめて
takasi, url, カウント回数
yosida, url, カウント回数
こうしたほうがよろしい?
一人事に別々のテーブル作るってのはナンセンスですかね?
1アカウントで、複数のページのカウントをするので
user_takasi
-------------
url, カウント回数
url, カウント回数
url, カウント回数
url, カウント回数
こんな感じに使用と思ってるんですが
それともみんなまとめて
takasi, url, カウント回数
yosida, url, カウント回数
こうしたほうがよろしい?
利用規模にもよるけど前者では100ユーザいたら100テーブル
不特定の貸し出しサービスなら、下手したら千人単位になるでしょ
初歩的な仕様バグってやつ
不特定の貸し出しサービスなら、下手したら千人単位になるでしょ
初歩的な仕様バグってやつ
初心者がよくやる間抜け仕様ですね。
1年後くらいにこんな仕様を考えた自分を振り返ってみるといい
1年後くらいにこんな仕様を考えた自分を振り返ってみるといい
MySQLのユーザの皆様、突然MySQL+PHPで業務に耐えうるものをつくれといわれた、ただのWIN使いです
両方を学ぶのに良いサイト・本など教えていただけますでしょうか?
Linux機もないし、レン鯖に直接乗せて勉強していくしかないので効率的にやらないと恐い気がしています。
とりあえず借りたところでテープルはつくっておきました。そんな程度の知識です。
テキストなんだかデータなんだかキャラクターなんだか、なにがなんだかさっぱりわかってません。
よろしくお願いします
両方を学ぶのに良いサイト・本など教えていただけますでしょうか?
Linux機もないし、レン鯖に直接乗せて勉強していくしかないので効率的にやらないと恐い気がしています。
とりあえず借りたところでテープルはつくっておきました。そんな程度の知識です。
テキストなんだかデータなんだかキャラクターなんだか、なにがなんだかさっぱりわかってません。
よろしくお願いします
>>592
http://moyashi.jp/cake/
とりあえず、WindowsPCに開発環境を作ってやった方が効率的ではあるまいか。
MySQLもPHPもどちらも知らないというなら、
CakePHPのようなフレームワークを学習した方が得な気がする。
http://moyashi.jp/cake/
とりあえず、WindowsPCに開発環境を作ってやった方が効率的ではあるまいか。
MySQLもPHPもどちらも知らないというなら、
CakePHPのようなフレームワークを学習した方が得な気がする。
ただでさえMySQL,PHP,JavaScript,HTMLを一気に学習させられるのに
そのうえフレームワーク追加したらパンクしちゃわないか?
そのうえフレームワーク追加したらパンクしちゃわないか?
むしろ、素人に期間なく対応させるなら、
10分でできる~で紹介されているCRUDだけのWebアプリができれば御の字でしょ。
10分でできる~で紹介されているCRUDだけのWebアプリができれば御の字でしょ。
>>592
手元のWin機に、Eclipse + PDT(もちろん、ApacheとPHPも)の環境を構築した方が
学習・開発・試験には便利だよ。
それで出来上がったらLinux環境に持っていくのも良し。
手元のWin機に、Eclipse + PDT(もちろん、ApacheとPHPも)の環境を構築した方が
学習・開発・試験には便利だよ。
それで出来上がったらLinux環境に持っていくのも良し。
んー、超初心者だけど、入り口でつっかかってまふ。
1.xamppは動いてる。
2.create databaseでデータベース作る。
3.create tabaleでテーブル作る。
ここまではおけ。
4.レコードを追加する。(insert into)
5.names set sjis;をやる
6.select *で中味を見る
もじばけー。
「1」なんて「『」になっちゃってるし。
日本語入力したところは「??」がいっぱい。
同じ環境で、本の付録のサンプルDBはちゃんと日本語も見えるんだよなあ。
どこが悪い?
どなたか教えてくだされ。
1.xamppは動いてる。
2.create databaseでデータベース作る。
3.create tabaleでテーブル作る。
ここまではおけ。
4.レコードを追加する。(insert into)
5.names set sjis;をやる
6.select *で中味を見る
もじばけー。
「1」なんて「『」になっちゃってるし。
日本語入力したところは「??」がいっぱい。
同じ環境で、本の付録のサンプルDBはちゃんと日本語も見えるんだよなあ。
どこが悪い?
どなたか教えてくだされ。



類似してるかもしれないスレッド
- 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 総合 Part18 (986) - [94%] - 2011/1/17 15:46
- MySQL 総合 Part19 (982) - [94%] - 2011/6/9 2:33
- 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 ○
トップメニューへ / →のくす牧場書庫について