次の単純なテーブルを検討してください。
id primary-key, auto-increment
name varchar(256)
+---------+
- tasks -
+-------------------------------------------+
- id | name -
+-------------------------------------------+
- 1 | Go to supermarket -
- 2 | Buy cheese -
- 3 | Buy PS4 and not Xbone -
+-------------------------------------------+
id primary-key, auto-increment
username unique varchar(128)
+---------+
- users -
+-------------------------------------------+
- id | username -
+-------------------------------------------+
- 1 | dalejr -
- 2 | firstnamelastname -
+-------------------------------------------+
user_id fk, index
task_id fk, index
+---------------+
- users_tasks -
+-------------------------------------------+
- user_id | task_id -
+-------------------------------------------+
- 1 | 1 -
- 1 | 2 -
- 2 | 3 -
+-------------------------------------------+
- 私は常にテーブル名と列名を小文字にします
- 外部キーでない限り、「task_id」の代わりに「id」を常に使用します。
tablename.tablename_id
バカだと思います。 - users_tasks テーブルのような外部キーに常にインデックスを付けます
このプラクティスは、確立された MySQL の慣習やベスト プラクティスとどう違うのですか?
そしてもっと重要なのは...それは悪いですか?