php - PHP 云存储应用程序是否应该为每个用户创建一个包含每个用户文件行的新表?
问题描述
一个基本的 PHP 云存储应用程序是否应该为每个用户创建一个包含每个用户文件的行的新表?
目前,(登录后)应用程序为每个用户提供自己的目录,php 循环遍历目录中的每个文件并将其输出到他们的仪表板上。然后用户可以下载和查看他们的数据。我应该为用户的文件使用数据库系统吗?
为这种类型的应用程序使用数据库有什么好处?
解决方案
您绝对应该以数据库的形式添加某种抽象层,原因有很多,其中之一就是性能。当用户目录开始保存许多文件时,每次直接读取文件系统都会变得很昂贵。将目录的内容抽象为数据库表中的行将为您提供速度、可伸缩性以及稍后索引和搜索文件以及能够标题或标记文件等的方法。
您的数据库架构的设计可能因应用程序而异,您可能会像您所说的那样,每个用户都有自己的表,但这比拥有一个带有指定每个文件所有者的列的表要复杂得多(通过用户身份)。
推荐阅读
- android - Android RecyclerView getChildAt() 和 getChildAdapterPosition()
- java - 如何从 div 元素中获取文本只返回一个“。” 含硒
- r - 如何为二部图创建同心布局
- javascript - 图表 js 日期范围选择器应用功能
- javascript - 为什么在 JavaScript 中将 value 与 undefined 进行比较会返回 false?
- swift - storageRef.downloadURL 没有在里面执行代码
- node.js - MongoDB 性能,客户端和服务器端的边界,性能提示
- shell - ansible shell/命令模块不在远程机器上执行脚本
- css - Safari 网页检查器元素闪烁
- swift - 快速从 mp3 文件中提取 CMSampleBuffer