我执行了如下插入查询-
插入表名
选择查询1联合查询2
现在,如果我执行此插入查询的选择部分,大约需要 2-3 分钟。但是,整个插入脚本需要 8 分钟以上。据我所知,插入和相应的选择查询应该花费几乎相同的时间执行。
那么它们是否还有其他可能影响插入执行时间的因素?
我执行了如下插入查询-
插入表名
选择查询1联合查询2
现在,如果我执行此插入查询的选择部分,大约需要 2-3 分钟。但是,整个插入脚本需要 8 分钟以上。据我所知,插入和相应的选择查询应该花费几乎相同的时间执行。
那么它们是否还有其他可能影响插入执行时间的因素?
插入和相应的选择花费相同的时间是不正确的,它不应该!选择查询只是“读取”数据并传输它们;如果您在应用程序(如 phpMyadmin)中尝试查询很可能会限制查询结果以对它们进行分页,因此选择速度更快(因为它不会选择所有数据)。插入查询必须读取该数据,在表中插入,更新主键树,更新该表上的所有其他索引,使用该表更新每个视图,触发该表/列上的任何触发器,ecc ......所以插入操作比插入更多的操作。所以插入比选择慢是正常的,慢多少取决于你的表和数据库结构。您可以使用一些特定于数据库的选项来优化插入,例如您可以在此处阅读对于 mysql,如果您在 DB2 上,您可以创建一个临时文件,然后将其 cpyf 到真实文件中,依此类推...