mysql - SQL - 从插入的一个字段复制 LEFT 300 个字符到新字段

标签 mysql sql

我有一个很大的 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/

相关文章:

mysql - 多个 Between 子句

python - Django 1.4 中的嵌套事务

mysql - 以默认值作为列名的 SQL 更新语句

java - JDBC和JSP数据库连接

sql select with group by 并加入查找

sql - 如何在 SQL 中优化联合

php - Mysql 没有返回错误,但没有给出任何结果,但在 phpmyadmin 中它返回

mysql - 在 MySQL 中使用派生表的查询中的这个 X 是什么意思?

php - 如何获取 mysql 日期时间字段作为 php 中的日期时间?

MySql 使用 Select 设置变量