javascript - 每个用户的专用 MySql 表
问题描述
我是一个(自学成才的)独立开发者,试图构建我的第一个全栈应用程序。我真的找不到有关该主题的太多信息,也许我走错了路:
我所取得的成就:
- 我创建了一个 CRUD 应用程序,其中包含一个 MySql“用户”链接表;
- 我创建了一个带有专用“登录”MySql 表的登录/注册系统,一旦用户登录,它将将用户重定向到链接到 MySQL 表的 CRUD 应用程序页面,并让用户执行所有 CRUD 操作;
我想要达到的目标:
- 每个用户都有自己的用户表;
目前,一旦用户注册并登录,他们就只能访问一个通用的 CRUD 用户表。所以任何用户都可以修改普通的 CRUD 用户表。但我想要的是每个用户都有他的私人 CRUD 用户表。
应用的栈是:SCSS;Node.js;Express.js;Handlebars;MySql
我愿意学习任何其他工具来继续使用该应用程序。感谢您提供任何路线图/建议!
解决方案
如果您必须使用此每用户表应用程序设计,您将执行以下操作:
- 在每个新用户在您的应用上注册时创建用户表。您可以在包含用户的共享表中使用用户的自动递增 id 来命名表。
- 当用户登录您的站点时,您将在您的代码中使用相同的表名来创建各种 SQL 语句来驱动您的应用程序。
但是,这种应用程序设计并不能很好地扩展。MySql 可以在单个服务器上处理数百个表,但不能处理数千或数万个表。这是因为每个同时打开的表都会占用大量 RAM、CPU 和 IO 资源。所有这些资源都是昂贵且有限的。请考虑使用带有userid
列的共享表的替代设计。
推荐阅读
- php - 无法在组件中绑定模型
- azure-active-directory - 使用 ADAL.Net 获取令牌会引发托管 AD 帐户的未知用户类型
- javascript - 变量表内部组件宽度不起作用html css
- visual-studio-code - 如何从浏览器打开vscode中的文件?
- ruby-on-rails - 使用不同 API 的结果的设计模式
- sql - 类型表的命名约定:是否使用“类型”后缀
- sql - 从日期差转换 00:45:00 到 0.45 或 01:45:00 到 1.45?
- html - 动态背景位置的微光效果?
- c++ - 为什么我的 C++ 对象没有用给定的值销毁?
- c# - 对列表中的列表进行排序