如何设计MySQL表结构以显著增强项目运行稳定性?
- 内容介绍
- 文章标签
- 相关推荐
我裂开了。 说实话, 你有没有遇到过这样的情况:项目刚开始时数据库设计得还挺整洁,可是因为需求越来越多,表结构变得越来越乱,再说说维护起来简直头疼。
哈哈,我算是深有体会了。咱就是说数据库设计这东西,看似简单,其实门道很多。今天我就和你聊聊,如何设计MySQL表结构才能让项目运行得更稳定。
先来看个例子
假设我们要设计一个用户表, 简单版的长这样:,坦白讲...
CREATE TABLE user (
id BIGINT NOT NULL AUTO_INCREMENT,
name VARCHAR NOT NULL,
phone VARCHAR NOT NULL,
email VARCHAR NOT NULL,
address VARCHAR,
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY
) ENGINE=InnoDB;
乍一看,没啥问题。但如果我们要存储用户的爱好和好友信息, 说真的... 直接往这个表里塞,你会发现很快就变得一团糟。
我裂开了。 说实话, 你有没有遇到过这样的情况:项目刚开始时数据库设计得还挺整洁,可是因为需求越来越多,表结构变得越来越乱,再说说维护起来简直头疼。
哈哈,我算是深有体会了。咱就是说数据库设计这东西,看似简单,其实门道很多。今天我就和你聊聊,如何设计MySQL表结构才能让项目运行得更稳定。
先来看个例子
假设我们要设计一个用户表, 简单版的长这样:,坦白讲...
CREATE TABLE user (
id BIGINT NOT NULL AUTO_INCREMENT,
name VARCHAR NOT NULL,
phone VARCHAR NOT NULL,
email VARCHAR NOT NULL,
address VARCHAR,
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY
) ENGINE=InnoDB;
乍一看,没啥问题。但如果我们要存储用户的爱好和好友信息, 说真的... 直接往这个表里塞,你会发现很快就变得一团糟。

