うーん、データベース アーキテクチャについてはよくわかりませんが、CTO の考えがよくわかりませんが、使用するすべてのテーブルの主キーの列の型として文字を使用することを主張しています。しかし、主キーはまだこのように見えます-> 1、2、3 ...など。それらは数値です。したがって、合成 PK には integer + auto_increment を使用します
LIKE
しかし、CTO は、PK の条件を使用してクエリを発行できないのは悪いことだと言っています。
- 特に PK が数値の場合、PK に文字を使用しても問題ありませんか?
- PKで同様の条件を使用するのは正しいですか?
PS - したがって、自動インクリメント/トリガーの代わりに、シーケンス CTO は、テーブルから最大の値を取得する選択クエリを発行し、1 を追加してから、その値を文字列に変換して格納します。
編集
ご協力ありがとうございます。しかし、それが大惨事になることを彼に納得させる必要があります。これ(このような場合はキャラクター4 PK)は悪い考えだと教えられただけです。彼の主張は…
1. PKというキャラクターはあまりスペースを取りません。
2. int 型 PK を使用した場合、データベース クエリ オプティマイザーはクエリを再読み込みする必要が
"select * from employee where name like 'somename'
あり
Select * from employee where id = 6
ます。
where句が変わるからです。
私たちが使用していると彼が強く主張したのは
"select * from employee where @columnName like @value"
、彼がこのように言ったようなものでした。
どうすれば彼の考えを変える正当な理由を証明または与えることができるでしょうか?
ありがとうございました : )