我在每个 mysql 数据库行中存储一个大约 1500 个字符长的大字符串。这个值不经常使用,使得性能不是很重要,但是来自数据库其他列的值被频繁使用。
将这些大字符串存储到此表中与其他数据相同的行中(我将更频繁地访问)对我来说不是最佳选择吗?这会以某种方式损害性能吗?
我应该将这些大字符串存储在单独的表中吗?我只是不清楚mysql如何优化这些事情,也不确定我是否需要担心。
我在每个 mysql 数据库行中存储一个大约 1500 个字符长的大字符串。这个值不经常使用,使得性能不是很重要,但是来自数据库其他列的值被频繁使用。
将这些大字符串存储到此表中与其他数据相同的行中(我将更频繁地访问)对我来说不是最佳选择吗?这会以某种方式损害性能吗?
我应该将这些大字符串存储在单独的表中吗?我只是不清楚mysql如何优化这些事情,也不确定我是否需要担心。
如果您“不触摸它们”,则无需将这些字符串保存在其他表中。
不要使用这样的东西 -
SELECT * FROM `my_table`
这将使您从数据库中读取那个长字符串。尝试这样做。
SELECT field1, field2 FROM `my_table`
其中 field1 和 field2 不是长字符串字段。当然,如果您需要,也可以将其包含在 SELECT 查询中。通过这种方式,您可以节省从数据库中获取的时间。
当您没有大量数据时,您无需担心这一点。
尝试阅读以下内容:
http://dev.mysql.com/doc/refman/5.0/en/select-optimization.html