元スレMySQL 総合 Part13
mysql覧 / PC版 /みんなの評価 : ☆
651 = :
テーブル設計したの俺じゃねーもんっ!
652 = :
も、萌え
653 = :
>>647
>>649に1票。Datetimeにしたほうが何かと便利じゃね?
654 = :
他で散々使われてるテーブルだからなあ……現状ちゃんと動いてるものを弄りたくないw
655 :
質問です
ヤフーでもAmazonでも、大きなポータルみたいなサイトを見ると、トップページに
沢山メニューやカテゴリがあります
(新着、トピック、ニュース、メール受信数、広告などなど)
これは、各領域ごとにSQLの読み込みしてるってことかなと思いますが、一ページに
どの程度リクエスト仕掛けていいんでしょう?
全部をまとめて1リクエストで済ませてるわけじゃないですよね?
そんなにいっぱい一気に読み込んで大丈夫なの?って気になりますが、、
こういうのはメモリとかCPU性能に依存するものなんですか?
変な質問ですみません
今のところ、1ページ1処理はうまく出来てるんですが、負荷を
沢山かけるものは心配です
参考になるサイトや書籍などあればそれも教えてください お願いします
656 = :
それがノウハウというやつでして
658 = :
SELECT T1.no, T21cat, T2.name FROM
(SELECT max(no) AS no, cat FROM table1 GROUP BY cat) T1
INNER JOIN table1 T2 ON T1.no = T2.no AND T1.cat = T2.cat;
とか?
試してないけど。
659 = 655 :
ノウハウってことは社外秘みたいな?
ごくごく基礎的な考え方について、まとめてる本なんて知りませんか?
すみません、気になるんです。。
660 = :
ああいうでかいポータルは1アクセス毎に動的にSQLを発行しているのではなく、
静的HTMLを一度作る時だけSQLを発行しているから無問題。
SQLの結果をキャッシュしておきたければmemcacheを使え。
661 = :
>>658
レス有り難う御座います。
うおっ結構複雑になってしまいますね・・・
今から提示して頂いたクエリを一つ一つかみ砕いて勉強してみます。
>>655
660さんもおっしゃっているような感じのことがメインですが
WEB+DB PRESS Vol.42にニコニコ動画の技術記事があります。
そこにDBとWEBアプリケーションサーバの大規模運用における勘所みたいなことが結構書かれていて
私は勉強になりました。
お力になれれば幸いです。
662 = :
分かってると思うけど、T21catはT1.catのtypoね。
試してみたらうまくいったけど、あんまりいい方法ではないよ。
あくまで、答がちゃんと出るレベル。
663 = :
SELECT no, cat, name FROM table1 T1
WHERE NOT EXISTS(
SELECT * FROM table1 T2 WHERE T1.cat = T2.cat AND T1.no < T2.no
);
とかでもOK
664 = :
>>659
ノウハウは社外秘まではいかないだろうけど、それが飯の種ってもんです。
何でも知ってる人に聞いてみましょう。
本だったらSQLの簡単なものから読んだらいいんじゃないかな。
MySQLに限らず、RDBMS共通で勉強するといいかも。
665 = :
>>660
ありがとうございます、一度読み込んだ後にキャッシュする機能があるんですね
それが知れただけでもすごく助かりました
>>661
本の紹介、ありがとうございます
ニコニコの仕組みは勉強になりそうですね! ぜひ読んでみたいと思います ありがとう
>>664
完全独学でまわりに詳しい人いないのでここで聞かせてもらいました
またお世話になると思います、よろしくお願いします
どうもありがとうございました
670 = :
SELECT * FROM hoge
INNER JOIN test ON hoge.hoge_id=test.hoge_id
サブセレしなくても普通にこれでいんじゃないの。
それとも例題のために削ってるから?
671 = :
>>670
例題の為に削っているからです。。
実際、副問い合わせが必要な時は、そこでCOUNTしたり
WHEREで抽出した値を出したいから、という理由が多いです。
673 = :
むり
675 = :
'2chan' IN (name, category, type)
676 = :
TEXTカラムから
文字数1000文字区切り、最後の改行
でデータを取り出したいのですが可能でしょうか?
できれば1000文字以下で丸めこみたいです
以下のようにやっては見たのですがどうもすっきりしません。
よろしくお願いします。
SELECT
CONCAT(SUBSTRING(TEXT,1,1000),SUBSTRING_INDEX(SUBSTRING(TEXT,1000,1000),"
",1)) AS TEXT
FROM hoge;
678 = :
>>676
1000文字取り出した後はプログラム側で処理してはいかがでしょう?
679 = :
>>671
だったら、そういうクエリを示さないと、解決にならない。
680 = :
Windows にインストールしようとしてバイナリを探して
このページを見たところ
http://dev.mysql.com/downloads/mysql/5.0.html
ここだと 5.0.51b しかないようです。
b は beta の略ですよね?
beta 無しの一つ前のバージョンはどこでダウンロードできるのでしょうか?
681 = :
>>680
それはベータじゃない。リリース版。
ってかいつの間にか5.0.51bになっててきづかなかった。
5.0.51->5.0.51aの時はSSL絡みのバグ修正だったようだけど、
今回のChanges探したんだが見つからない。
bkbitsのほうにも、Enterpriseには5.0.60きてるけど、
Communityには5.0.51aまでしか記載がない。
682 = :
無償版の「MySQL Community Server」の提供は今後も継続されるが、
無償版と有償版の開発は完全に切り離されることとなり、
無償版と有償版の2つのMySQLはまったく別々の進化を遂げることとなる見通しだ。
683 = :
>>681
レスありがとうございます。
http://dev.mysql.com/doc/refman/5.1/ja/choosing-version.html
ここのバージョンの命名規則に b の意味するところが書いてないようなのですが
51 -> 51a -> 51b は
51 -> 52 にするほどでもない細かい修正だと理解して良いのでしょうか?
684 = :
>>683
その通りです。
個人的にはbetaを意識させるbをバージョンに含むのには反対ですけどね。
685 = :
>>684
なるほど、ありがとうございました。
688 = :
>>687
俺は読んでないけど…
http://www.oreilly.co.jp/books/9784873113432/toc.html
つーか、サイトや書籍を当たるよりもいきなりガシガシ
ソースコード読んだ方が速いんじゃないか
689 = :
Linuxもいつかは誰かの所有物になるのかな
690 = :
そんときは、別のオープンソースOSがLinuxの代わりになってるよ。
691 = :
Linux は正式にリーナスの物だけど誰も困ってない
そういう事
692 = :
>>688
ありがとうございます
なんと身近な本に普通に載ってたんですね…
694 = :
order byは最後に実行されるから、select句でその情報を取得するのは無理。
SELECT foo AS '2 foo', bar AS '1 bar' FROM Example
ORDER BY bar, foo;
とでもすればいいんじゃないかな?
695 = :
テーブルレイアウトがないので、、、テーブル名が sample_table で、
プライマリキーは key_a 並べ替えたいカラムを col_a として書きました。
SELECT
a.*,
b.order_num
FROM
sample_table a
JOIN (
SELECT a.key_a, count(*) AS order_num
FROM sample_table a LEFT JOIN sample_table b ON
a.col_a > b.col_a
GROUP BY a.key_a
) b
USING (key_a)
ORDER BY a.col_a
MySQLでの確認はしてませんので、方言が混ざってそうだったら翻訳しといてください
697 = :
列がちゃんと決まってるなら行番号あたりをキーにしたテーブル作って
COPY句でも作って突っ込めばいけるんじゃない?
698 = :
CSVで保存すれば、取り込める。
正規化せずに取り込むと後でものすごく後悔しそうないがする。
700 = :
>>699
PHPのモジュールの問題じゃね?
みんなの評価 : ☆
類似してるかもしれないスレッド
- MySQL 総合 Part12 (1001) - [94%] - 2008/1/30 17:34 ○
- 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 総合 Part19 (982) - [94%] - 2011/6/9 2:33
- MySQL 総合 Part23 (992) - [94%] - 2013/8/11 17:00
- 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 総合 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 ○
トップメニューへ / →のくす牧場書庫について