我有一个很大的 MySQL 照片表,即使有全文索引、普通索引和其他性能技巧,我发现我的查询速度变慢了一点(蹩脚的 MySQL 全文)。
我有两个字段,一个称为“caption”,另一个称为“shortCaption”。 “caption”字段包含 500,000 行长度在 150 到 2000 个字符之间的数据,新的“shortCaption”字段为空。
我的“标题”字段中的可搜索信息主要在前 300 个字符中,因此为了加快我的全文查询速度,我希望有一个仅包含前 300 个字符的“shortCaption”字段,从而减少工作量对于我的数据库/查询。
有没有办法在一个查询中遍历每张照片记录,获取前 300 个字符(长度(字段,300))并用较短的版本更新新字段?我正要编写一个小的服务器端脚本来处理这个问题,但很想知道它是否可以纯粹使用 SQL 来完成,因为它会更快。
提前致谢。
最佳答案
UPDATE tablename SET newfield = LEFT(oldfield, 300)
此查询将更新 tablename
中的所有行
关于mysql - SQL - 从插入的一个字段复制 LEFT 300 个字符到新字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10183550/