我有一个与 MySQL/PHP 性能相关的问题。
我需要在表中存储与每条记录关联的索引列表。每个列表包含 1000 个索引。我需要能够快速访问与给定记录关联的列表中的任何索引值。我不确定最好的方法。我已经想到了以下方法,并希望您对它们提出意见:
将列表作为逗号分隔值列表或使用 JSON 存储在字符串中。性能可能很糟糕,因为我需要将整个列表从数据库中提取到 PHP 中,只为了检索一个值。解析字符串也不会很快......我可以在 PHP 端的最近最少使用的缓存中存储一些扩展列表以减少负载。
创建一个包含 1001 列的列表,用于存储列表及其主键。我不确定这在存储方面的成本是多少?这也感觉像是在滥用系统。然后,如果我需要存储 100000 个索引怎么办?
仅使用 SQL 存储包含我的索引的二进制文件的名称并执行 fopen(); fseek(); fread(); 每次访问的 fclose() 循环?不确定系统文件系统缓存将如何反应。如果情况不妙,那么有很多解决方案可以解决这些问题……但这听起来有点矫枉过正,不是吗?
你对那个怎么想的?