我似乎在网上找不到任何人这样做的例子,所以我想知道这是否有原因(或者我可能没有使用正确的搜索词)。甚至可能已经有一个我不知道的术语?
为了为定期重复出现的字符串节省数据库存储空间,我正在考虑创建一个名为unique_string的 MySQL 表。它只有两列:
- “id ”:INT:PRIMARY_KEY 索引
- “字符串”:varchar(255):唯一索引
然后,数据库中任何位置的任何其他表都可以使用 INT 列而不是 VARCHAR 列。例如,名为browser的 varchar 字段将改为名为browser_unique_string_id的 INT 字段。
我不会将它用于性能重要的任何事情。在这种情况下,我使用它来跟踪每个页面请求的详细信息(记录 Web 统计信息)和对 Intranet 上的用户操作的“审计试验”,但其他事情也可能如此。
我也知道 SELECT 查询会很复杂,所以我并不担心。我很可能会编写一些代码来生成查询以返回“真实”字符串数据。
想法?我觉得我可能在这里忽略了一些明显的东西。
谢谢!