在我的应用程序中,大多数 ID(user_id、classroom_id、post_id、assessment_id 等)都是公开可用的,这意味着它们要么位于 URL 中,要么位于目录名称中。出于安全原因,我希望每个表都有 10 个字符的随机 ID,而不是自动递增的 ID。
我可以使用时间戳,但这并不是唯一的,并且添加随机数会变得更长(例如,我必须添加 4 个随机数才能每秒处理多达 10.000 个数据库插入到表中......纯粹是假设它不可扩展)。
现在我更愿意创建一个10 个字符的随机 ID,这会给我100 亿个可能的 ID 组合。所以产生重复的机会很小,长度也可以接受。
use Keygen;
$id = Keygen::numeric(10)->generate();
你觉得我的想法有道理吗?有谁知道使用 10 个字符的主 ID 是否会对我的数据库性能产生负面影响?谢谢!
HUWWW