关于删除(delete)性能消耗
有条件从一个表里删除记录性能消耗有多大?
现在假设表里有 20,000 条记录, 每次从该表读取数据时, 都执行一次有条件的delete操作, 读取的频率比较高, 大概就是一个网购网站查看商品那样的频率, 象这样, 每次查询都搜索有条件delete操作, 性能消耗高不高, 可以忽略吗?
竹子个人的理解的话, 消耗应该是要考虑的, 因为这是delete(删除)而不是truncate(清空), 有条件 delete, 数据库应该是要检索表里的每一行数据, 检索出来后, 还要判断条件是否成立, 如果成立, 删除完这条记录, 数据库系统还要做日志记录, 这看起来好象是很麻烦的操作, 另外, 更致命的是, 在竹子所描述的情况下, 这样的操作不是单用户的, 只要是这个网站的浏览者, 都会触发这样的操作, 所以, 竹子认为, 消耗是比较严重的, 也就是说, 频繁的执行数据库更新, 而不仅仅是查询!
请大家赐答! 谢谢!