每个用户专用 MySql table

Dedicated MySql table for each user

我是一名(自学成才的)独立开发人员,正在尝试构建我的第一个全栈应用程序。我真的找不到关于该主题的太多信息,也许我走错了路:

我取得的成就:

我想达到的目标:

目前,一旦用户注册并登录,他们就只能访问一个普通的 CRUD 用户 table。所以任何用户都可以修改普通CRUD用户table。但我想要的是每个用户都有他的私有 CRUD 用户 table.

应用程序的堆栈is:SCSS; Node.js;Express.js;把手;MySql

我愿意学习任何其他工具来继续使用该应用程序。感谢任何 roadmap/suggestions!

  1. 您可以使用 会话实施 数据限制
  2. 对于每个用户都有一个私有的 CRUD table,你可以实现它 通过编写 SQL 查询为每个用户创建一个 table 注册.

如果您必须使用此 table-per-user 应用程序设计,您将执行以下操作:

  1. 在每个新用户在您的应用程序上注册时创建用户 table。您可以在包含用户的共享 table 中使用用户的自动递增 ID 来命名 table。
  2. 当用户登录您的网站时,您将在代码中使用相同的 table 名称来创建各种 SQL 语句来驱动您的应用程序。

但是,此应用程序设计不能很好地扩展。 MySql 可以在单个服务器上处理数百个 table,但不能处理数千或数万个。这是因为每个并发打开的 table 占用大量 RAM、CPU 和 IO 资源。所有这些资源都是昂贵且有限的。请考虑使用共享 table 和 userid 列的替代设计。