teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

質問の趣旨を明確化

2019/03/02 09:42

投稿

Take_it
Take_it

スコア357

title CHANGED
File without changes
body CHANGED
@@ -6,4 +6,27 @@
6
6
 
7
7
  INSERTやUPDATEの際に数値データであっても文字列として扱うようにする等、まぁ気を付けるべきところは気を付けるとして、データベースのパフォーマンス上、やはり有意な差が生まれてしまうものでしょうか?
8
8
 
9
- 文字列で扱わなければならない場合のみ、テーブルを分けるという方法もできなくはないのですが、その方が好ましいのでしょうか?
9
+ 文字列で扱わなければならない場合のみ、テーブルを分けるという方法もできなくはないのですが、その方が好ましいのでしょうか?
10
+
11
+ ===追記===
12
+ 質問の仕方が悪かったかもしれません。
13
+
14
+ 個人別データを記述したテーブルAには、所属する部署コードと適用される勤務シフトコードのカラムがあります。
15
+
16
+ 部署データは、INT UNSIGNED AI でコードを生成されたテーブルになります。
17
+
18
+ 勤務シフトデータは、部署データのコードをキーに設定したテーブルです。
19
+
20
+ つまり、部署ごとに勤務シフトが一応決まっていて、個人別データにおいて部署コードと勤務シフトコードのカラムの値は基本的には同一になる設計です。
21
+
22
+ ところが一部、所属する部署の勤務シフトとは異なる勤務シフトを設定した場合があり、これをどのように扱うかを検討する際に、
23
+ 勤務シフトデータのテーブルに、部署コードではなく従業員コードをキーに放り込んだデータを用意することとしましたが、当然ですがそれでは部署コードと従業員コードが重複する可能性が排除できません。
24
+ そこで、その場合は、なんらかの接頭辞_従業員コードをキーに放り込めば、重複を回避することができます。
25
+ 但しその場合、キーに使うカラムをINT型ではなくVAECHAR型にする必要があり・・・
26
+
27
+ という前提のもと、
28
+
29
+ ・VERCHAR型で作った場合と
30
+ ・(接頭辞をつけるようなデータは入れないように見直して)INT型で作った場合
31
+
32
+ パフォーマンスにおいて有意な差が出るかどうか、というのが質問です。