简单的更新查询花费了太多时间。
我需要优化此查询。没有加入,不应该花那么多时间。
简单的更新查询如下:
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)
请提出建议。
答案 0 :(得分:0)
添加更多索引会使插入变慢而不会更快,但会使选择更快。
你能列出你的全表定义吗?
答案 1 :(得分:0)
另外一个选择是数据库布局对更新不是很有效。 表格看起来很大,所以最好把它拆分成不同的表格,这样你的更新可能会影响更少的数据......
您也可以选择最符合您要求的数据库设计,因此如果您有大量更新,请选择BCNF或第4个NF进行布局。如果你有更多的读数而不是最好的情况下选择3NF,这应该主要是DB的标准正常形式。
所有上面的BCNF都有一个缺点,因为你正在失去FD依赖关系,所以你会得到更多的裁员......
这里是NF的简短介绍: http://en.wikipedia.org/wiki/Database_normalization#Normal_forms