优化简单mysql更新查询

优化简单mysql更新查询,mysql,sql,performance,sql-update,Mysql,Sql,Performance,Sql Update,简单的更新查询占用的时间太长 我需要优化这个查询。没有加入,不应该花那么多时间 下面是简单的更新查询: UPDATE need SET `column7` = "in ABC and in", # type: text `column9` = "in Abc and in ", # type: text `column15` = "", #type: text `column32` = "0" #type: tinyint(1) WHERE id = "3685

简单的更新查询占用的时间太长

我需要优化这个查询。没有加入,不应该花那么多时间

下面是简单的更新查询:

UPDATE need 
    SET `column7` = "in ABC and in", # type: text
    `column9` = "in Abc and in ", # type: text
    `column15` = "", #type: text
    `column32` = "0" #type: tinyint(1)
WHERE id = "36851"


    Field   Type    Collation
--------------------------  ------------------- ---------------
id  bigint(20) unsigned (NULL)
column01    varchar(320)    utf8_unicode_ci
column02    varchar(1024)   utf8_unicode_ci
column03    longblob    (NULL)
.
.
.
.
column32    tinyint(1)  (NULL)
column33    tinyint(3) unsigned (NULL)

请提出一些建议

添加更多索引将使插入速度减慢而不是加快,但会使选择速度加快


您能列出完整的表定义吗?

另外一个选项是数据库布局对更新不是很有效。 该表看起来非常大,因此最好将其拆分为不同的表,这样更新可能会影响较少的数据

您还可以选择最适合您需求的DB设计,因此如果您有很多更新,请选择BCNF或第四个NF进行布局。如果你有更多的读取,在最好的情况下选择3NF,它应该主要是标准的标准形式od a DB

所有这些BCNF都有一个缺点,因为您正在失去FD依赖,所以您将获得更多冗余

以下是NF的简短介绍:

我认为您的表定义没有任何明显的问题。你的桌子上有多少行?什么mysql版本?