gpt4 book ai didi

php - MySQL 上每个用户的单个 SQLite 数据库?

转载 作者:行者123 更新时间:2023-11-29 04:27:05 25 4
gpt4 key购买 nike

在这里开始一个新项目,我将存储大量用户数据。我试图从一开始就使系统具有可扩展性,所以我正在考虑将每个用户的数据(基本上是他们存储的文件列表)存储在单独的 SQLite 数据库中,该数据库存储在用户特定的目录中,而不是一个MySQL 中带有用户 ID 的巨大表。文件列表将存储与文件相关的其他元数据,因此仅使用文件系统不是一种选择。

我的想法是,当用户登录并查看他们的文件时,只显示单个 SQLite 数据库中的所有数据会更快,而不是让 MySQL 遍历"file"表中的所有记录以提取一个用户的按 ID 归档。每个用户很容易拥有 10,000 多个条目,最初至少有 400 个用户。那么 400 个具有 10,000 行的 SQLite 数据库,或者具有 400 万行的单个 MySQL 表?请记住,所有 400 个用户很少(如果有的话)同时登录,让数据库必须处理不存在的用户的数据似乎效率低下,即使它已被索引。

SQLite 的最大限制是锁定,但幸运的是,在这种情况下,只会有一个进程写入数据库,所以这应该不是问题。备份单个 SQLite 数据库的附加管理是微不足道的,因为它们无论如何都将成为增量文件系统备份的一部分。

想法?意见?我是不是想多了?

最佳答案

My thought there is that when users are logged in and viewing their files it will be faster to just show all data in a single SQLite database rather than have MySQL go over all records in the "file" table to pull out one user's file by ID.

不,如果您正确索引 MySQL 数据库,则不会。如果设置正确,400 万条记录应该不会有问题。

关于php - MySQL 上每个用户的单个 SQLite 数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9420860/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com