『第14回 SQL Server 2019勉強会 』のまとめ #JSSUG #SQLServer

2019年1月26日(土)に開催された『第14回 SQL Server 2019勉強会 』のまとめ。 日程:2019年1月26日(土)13:00~18:00(開場:12:30) 会場:日本マイクロソフト品川本社 主催:JSSUG(Japan SQL Server User Group)
0
NaruTo@うなぎ食べない教 @KAZAMAI_NaruTo

体調が心配だったので言ってなかったが、 明日ちらっとしゃべる。 sqlserver.connpass.com/event/113907/ #JSSUG

2019-01-25 11:36:57
FUJIMOTO Takahisa @tkfuji

今日はこれ『第14回 SQL Server 2019勉強会』に参加してるー♪( ´▽`) #JSSUG #SQLServer (@ 日本マイクロソフト - @mskkpr in 港区, 東京都) swarmapp.com/c/2Hn38qsBRKj

2019-01-26 13:08:27
NaruTo@うなぎ食べない教 @KAZAMAI_NaruTo

#JSSUG う~ん・・・・ B+tree の理解が不正確だから クラスタ化インデックスと非クラスタ化インデックスが出てくる理由がわかっていない感じの説明。

2019-01-26 13:25:04
NaruTo@うなぎ食べない教 @KAZAMAI_NaruTo

#JSSUG  う~ん、クラスタ化インデックスと非クラスタ化インデックスの使いどころの説明、やっぱ違和感。

2019-01-26 13:33:27
NaruTo@うなぎ食べない教 @KAZAMAI_NaruTo

#JSSUG Index Scan より Clustered Index Scan が遅いっていう話の理由がわからん。 本当に Scan する列が同じ状態での比較??

2019-01-26 13:43:18
NaruTo@うなぎ食べない教 @KAZAMAI_NaruTo

Index Scan は Index に利用されている列(+ 包含列) のみ参照するからリーフのサイズが小さい分全体が小さくなって I/O が減るのか。 #JSSUG

2019-01-26 13:50:56
NaruTo@うなぎ食べない教 @KAZAMAI_NaruTo

#JSSUG いや、abs の置き換えに -1 って 正のあたいのときあかんやろw

2019-01-26 13:53:53
サメ @_itito_

> スキーマ名をつけることで実行プランの再利用が促進される へー。現場のコード指針に沿って、書いてはいたけどそのような理由は知らなかった。 #JSSUG

2019-01-26 13:55:43
NaruTo@うなぎ食べない教 @KAZAMAI_NaruTo

JSSUG の Slack って見ている人はあまりいないと思うけど。。。 #JSSUG

2019-01-26 14:08:14
サメ @_itito_

パフォーマンス考えるとどう処理するか(してほしいか)も重要になってくると思うかな #JSSUG

2019-01-26 14:17:13
NaruTo@うなぎ食べない教 @KAZAMAI_NaruTo

True が 1 (0以外) False が 0 ・・は環境・言語によって変わってくるからこうだと決めるのは危険。 #JSSUG

2019-01-26 14:36:44
サメ @_itito_

状況によるけどOR付けるとインデックスが使われなくなることあるので怖いです #JSSUG

2019-01-26 14:41:03
サメ @_itito_

フラグなどを渡してストアドプロシージャで管理していたものを動的生成に変更してパフォーマンスを上げるという 全く反対のことやったことあるので何ともいえない #JSSUG

2019-01-26 14:48:14
FUJIMOTO Takahisa @tkfuji

Ikushimaさん の「初級~中級のSQL再入門」、ANDとORの話とかは他の技術者が保守できなくなるなるので、実プロジェクトではやりたくないなあ。 #JSSUG #SQLServer

2019-01-26 14:55:25
FUJIMOTO Takahisa @tkfuji

Ikushimaさんの「初級~中級のSQL再入門」、自然言語の仕様書とSQLの括弧の開閉表記が異なるって話があったけど、実装者に書いてほしいSQLがあれば仕様も同じように書いてほしい形で書くべき。仕様と実装で一々頭の中で変換するとかバグの温床かと。 #JSSUG #SQLServer

2019-01-26 14:59:07
FUJIMOTO Takahisa @tkfuji

あと、ここら辺のSQLの小細工ってオプティマイザーがよろしくやってくれるから、基本SQLは分かり易く書くことが大事。もちろん性能を落とすような手続き型言語的な記述をするのはご法度だけど。 #JSSUG #SQLServer

2019-01-26 15:02:36
サメ @_itito_

これかな?後で読みます。 #JSSUG リレーショナルな正しいデータベース設計 by @nippondanji #database #relationalmodel slideshare.net/nippondanji/re… @SlideShareさんから

2019-01-26 15:18:29
FUJIMOTO Takahisa @tkfuji

主語かどうか、述語かどうか、従属するかどうか、修飾するかどうかでテーブルを分ける。んー、これって普通にデータモデリングすればいいだけの話では?ERD書かずにテーブル定義書だけで設計(笑)するからそうなるだけかと。 #JSSUG #SQLServer

2019-01-26 15:25:24
FUJIMOTO Takahisa @tkfuji

PKにUUIDって言うけど、テストデータが作るのが手間がかかるし、テスト仕様書にどう書くんだっけ? #JSSUG #SQLServer

2019-01-26 15:33:49
サメ @_itito_

GUIDよく使ってました。ただ断片化が進みやすいと聞いて、あー確かにって思った #JSSUG

2019-01-26 15:36:11
FUJIMOTO Takahisa @tkfuji

サロゲートキーは賛成なんだけど(自分が設計したら遅くとも物理設計の段階でサロゲートキー使うし)、(お客さん側の)サロゲートキー食わず嫌い派を説得するのは大変。 #JSSUG #SQLServer

2019-01-26 15:37:08