我得到了一个
users
表和一些论坛,用户可以在这里写。论坛上的每个动作都使用users
表。用户可以有一个配置文件,它可以很大(50KB)。如果我在每一行中获得如此大的数据,那么将单独的表与用户的配置文件以及其他非常频繁访问的数据分开是不是更快?行设计如何影响MySQL性能?在线RPG游戏中,每个角色都有很长的能力列表,例如:手枪经验,机枪经验,投掷手榴弹经验以及15个以上。将它们存储在字符串中是否更好?用分号分隔的数字 - 这会占用比整数更多的空间,还是应该为每个单独的字段创建?或者也许二进制? (我使用C++)
0
A
回答
0
(1)本身不,没有。正如斯蒂芬所说,你应该只选择你想要的东西,所以你不想在桌上有东西是没有问题的。 50K TEXT blob只是该行中的一个指针。
但是,如果您正在使用MyISAM表,则可能会出现问题。在MyISAM中,只有表级锁定,所以当你有一个用户更新他们的行(例如最后访问时间)时,它会阻止所有其他用户访问表。在这种情况下,您可能会遇到一些改进,将大量更新的列从相对静态的但重要的列中分离出来。
但是你不想使用MyISAM:它有点废话。使用InnoDB,获得行级锁定(以及事务和外键约束),不用担心。今天使用MyISAM表的唯一原因是全文搜索,InnoDB不支持。 (2)您通常会将每个独立的值分隔到自己的字段中。如果你遇到了一个真正的性能问题,并且你不需要自己对数据库进行数据库级别的操作,你可以考虑对它进行非规范化处理,但是你会失去数据库的能力。
1
如果你不需要从 特定列中的数据,不明白这一点。 不要做
SELECT *
但SELECT a, b,...
如果你需要 某些列做SQL查询例如
ORDER BY pistols_experience
,您应该在 中将其留在不同的列中。如果 你只是一次展示这一切,你可以 通过YAML序列化不同 键 - 值对的文本字段 ,JSON等
相关问题
- 1. MySQL括号性能影响?
- 2. DB2审计性能影响
- 3. innodb_log_file_size如何影响性能?
- 4. estimatedRowHeight如何影响性能?
- 5. 性能的影响成行
- 6. 性能影响
- 7. MySQL事件调度的性能影响
- 8. LIMIT子句对MySql性能的影响?
- 9. LINQ性能影响
- 10. 性能的影响
- 11. GraphicsPath.Flatten()如何影响绘图性能?
- 12. 文件大小如何影响性能?
- 13. 如何确定PerlLogHandler性能影响?
- 14. mysql/innodb数据库大小如何影响性能?
- 15. 估计处理器频率如何影响I/O性能
- 16. 编程/设计决策如何影响引擎盖下的性能?
- 17. Windows性能计数器是否会影响性能?
- 18. mySQL:性能受影响之前表中有多少行?
- 19. 运行时的geeting列类型是否影响MySQL性能?
- 20. Bigtable性能影响列族
- 21. C#铸造性能影响
- 22. mysql_data_seek的性能影响
- 23. 快捷类影响性能?
- 24. MouseMove对性能的影响
- 25. NSClassFromString会影响性能吗?
- 26. setTimeout()会影响性能
- 27. nvarchar(4000)的性能影响?
- 28. Java -verbose:gc性能影响?
- 29. Aerospike UDF的性能影响?
- 30. connection.commit()对性能的影响