在SQL中删除表所花费的时间是否反映了表中的数据量?
让我们说丢弃一个有100000行和1000行的相同表格。
答案 0 :(得分:0)
它肯定取决于dbserver和该数据库服务器中的特定存储参数以及表中是否存在LOB。对于MOST场景,它非常快。
答案 1 :(得分:0)
这是MySQL吗?众所周知,ext3 Linux文件系统丢弃大型表的速度很慢。丢弃的时间必须与表的大小相比更多,而不是表中的行。
http://www.mysqlperformanceblog.com/2009/06/16/slow-drop-table/
答案 2 :(得分:0)
在Oracle中,与您正在执行的其他操作(创建表并填充表)相比,删除表非常快且不太重要。
在Oracle中创建和删除表足以让它成为任何类型的性能因素都不是真的。您可以考虑使用全局临时表。
来自http://download.oracle.com/docs/cd/B28359_01/server.111/b28318/schema.htm
除永久牌桌外, Oracle数据库可以创建临时的 用于保存会话私有数据的表 只存在于a的持续时间 交易或会话。
CREATE GLOBAL TEMPORARY TABLE statement创建一个临时表 可以是特定于交易的或 会议专用。对于 特定于事务的临时表, 数据存在的持续时间 交易。特定于会话 临时表,数据存在 会议持续时间。数据在 临时表是私有的 会话。每个会话只能看到和 修改自己的数据。 DML锁不是 获得临时数据 表。 LOCK声明没有 影响临时表,因为 每个会话都有自己的私人数据。