时间:2021-05-02
UPDATE
1、先备份数据(安全、提高性能)。
2、分批更新,小批量提交,防止锁表。
3、如果被更新的自动有索引,更新的数据量很大,先取消索引,再重新创建。
4、全表数据更新,如果表非常大,建议以创建新表的形式替代更新。
DELETE
1、分批提交、减少锁表时间、减少回滚段压力。
2、大批量数据删除加上rownum<1000。
3、大批量删除,禁止中途ctrl+c,或kill调session。
4、大量数据删除后最好重建索引,分析表。
INSERT
1、关闭redo log(ALTER TABLE <TABLENAME> nologging;)
2、使用 暗示。
3、绑定变量。
4、批量提交。
5、如果表是静态,独占使用,可以去掉索引和其他相关约束。
6、大量灌入数据后要分析表。
7、使用SQL load快速装载数据。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
SQL%NOTFOUND是一个布尔值。与最近的sql语句(update,insert,delete,select)发生交互,当最近的一条sql语句没有涉及任何行
PDO有一个函数PDOStatement::rowCount返回上一个SQL语句影响的行数。rowCount函数对于DELETE,INSERT,或者UPDATE
rs.opensql,conn:如果sql是delete,update,insert则会返回一个关闭的记录集,在使用过程中不要来个rs.close在文件最后再写
rs.opensql,conn:如果sql是delete,update,insert则会返回一个关闭的记录集,在使用过程中不要来个rs.close在文件最后再写
EXPLAIN语句提供有关MySQL如何执行语句的信息。EXPLAIN与SELECT,DELETE,INSERT,REPLACE和UPDATE语句一起使用。EX