15/02/22 09:41:18.84 +W519OeW
>>53
join使うなと言うアホが未だにいるしな
で、ぼこぼこ同じ値保持しまくるテーブルが出来てどこが正しいの~?ってなる
58:NAME IS NULL
15/02/22 10:06:55.97
> join使うなと言うアホが未だにいるしな
\エーーーーーーーッ!?/ ,,、,、,,,
∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
( ) ( ) ( ) )
59:NAME IS NULL
15/02/22 10:24:23.91
join句変な書き方してるせいでクソ重いクエリとか書いた奴殴りたくなる
そういうバカのせいで使用が制限されてるようなもんだしな
60:NAME IS NULL
15/02/22 10:31:43.44
設計段階でjoinを省くなよ
61:NAME IS NULL
15/02/22 11:13:08.38
>>57
結合順ならわかるが書き方で重くなる?
今ちょっとはまってるので、教えろください
62:NAME IS NULL
15/02/22 17:47:17.60 9nhB2Xgl
レン鯖によくある「月額利用でいくら」「オプション追加したらいくら」というDB設計を勉強しています。
月額料金はプラン毎に金額や使用範囲・条件が変わって、
オプションはドメイン追加とかメールアカウント追加とかそういうのです。
(ちなみにレン鯖を運営しているわけでも運営するつもりでもありません)
当初は、料金プランテーブルとオプションテーブルの2つを作ればいいと思ったのですが、
「プランによって使用範囲が変わる」「オプションによっても使用範囲が変わりそう」との想定から、
基本的なのは1つのテーブルにまとめて、以下のように正規化することを考えました。
◯料金テーブル(ID、プラン名、価格、識別コード)
1|格安プラン|500|plan
2|独自ドメイン|3000|option
◯料金設定テーブル(料金ID、設定名、設定値)
1|initial_cost|3000
1|capacity|10737418240
※格安プランの初期費用は3000円、使用可能容量は10GBという意味
この設計についてどう思いますか?足りない情報があればツッコミお願いします。
63:NAME IS NULL
15/02/22 18:36:13.85 +W519OeW
>>59
join使うと遅いから使うなと言ったアホはインデックスを知らなかった
64:NAME IS NULL
15/02/22 18:50:52.72
>>61
そんな情報はどうでもよくて、joinの書き方が変なことでクソ重くなる例がほしいんだと思う
65:NAME IS NULL
15/02/22 20:01:49.52
>>62
インデックスの無い列でjoinしたら遅かったとか
そういう、書き方と関係ないレベルの話だったオチなんじゃないかと思うんだが
結合順とか今時のオプティマイザなら入れ替えるぞ
66:NAME IS NULL
15/02/23 00:25:06.04
そうだからこそ、>>57に詳細を教えてほしいんじゃないの。
知らないトラップが潜んでるかもしれないという不安感
67:NAME IS NULL
15/02/23 04:40:25.42
>>64
まあ一般的にそんな話があるなら俺も聞いてみたいが
特定のRDBMSで特定のバージョンで書き方によって
オプティマイザが変な判断するって話は聞いたことあるけど
詳しい中身は忘れたわ。バグとしてさっさと修正されたし
68:47
15/02/23 14:28:43.85
問題解決の糸口になってよかったよ。
やっぱ、日本語であれこれ質問するより、コード(SQL)書いた方が速いのかな。
面倒なんで、いつもは書かないんだけど。
69:NAME IS NULL
15/02/23 22:22:49.03
>>66
ここの住民的言語難易度
日本語>>>>SQL
日本語がいいのはそもそもSQL知らない奴
70:NAME IS NULL
15/02/23 23:15:56.66
ここSQLの書き方レベルの話するスレじゃないだろ
71:NAME IS NULL
15/02/24 06:19:21.74
話す内容のレベルは低いよ
72:NAME IS NULL
15/02/24 13:49:29.51
ひとつにまとめるべき論とか
73:NAME IS NULL
15/02/24 15:40:45.79
いやそれこそDB設計論じゃねーの?
74:NAME IS NULL
15/02/24 16:27:16.40
そうだね。
通常分割するものをあえてひとつにまとめることで生まれるメリットがあることもわかるので、
そのあたりを主張してほしかったなと思う。
普通まとめるでしょというスタンスだったので話はうまく進まなかったね。
75:NAME IS NULL
15/02/24 19:14:12.04
普通まとめるでしょは、COBOLerの発想
76:NAME IS NULL
15/02/24 20:46:17.93
正規化とは
77:NAME IS NULL
15/02/24 23:23:42.50
特に分ける理由がないなら纏めて良いが、
普通は纏めるでしょになったのな(笑)