Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 删除sql server表中的数据需要很多时间_Sql Server_Performance - Fatal编程技术网

Sql server 删除sql server表中的数据需要很多时间

Sql server 删除sql server表中的数据需要很多时间,sql-server,performance,Sql Server,Performance,我有一张有超过3.8亿条记录的表格。我有一个存储过程,它: 删除一些记录 插入一些东西 整个过程大约需要30分钟来执行。其中,删除需要28分钟 Delete是一个简单的语句,大致如下: Delete a where condition_1 AND condition_2 AND condition_3 有人能帮我吗?为条件中的字段编制索引可能会有所帮助。如果创建要删除的行的视图,需要多长时间?如果可以加快查看速度,则可以加快删除速度。条件是否太大? 也许使用索引可以帮助更快地删除 或者,您可以

我有一张有超过3.8亿条记录的表格。我有一个存储过程,它:

  • 删除一些记录
  • 插入一些东西
  • 整个过程大约需要30分钟来执行。其中,
    删除
    需要28分钟

    Delete是一个简单的语句,大致如下:

    Delete a where condition_1 AND condition_2 AND condition_3
    

    有人能帮我吗?

    为条件中的字段编制索引可能会有所帮助。如果创建要删除的行的视图,需要多长时间?如果可以加快查看速度,则可以加快删除速度。

    条件是否太大? 也许使用索引可以帮助更快地删除

    或者,您可以使用truncate而不是delete

    CREATE [UNIQUE] INDEX indexName
    ON table
    (fieldName [ASC/DESC], ...)
    

    ASC/DESC选项可以定义订单

    您的表格是如何组织的?您有哪些聚集索引和哪些非聚集索引?这三个条件究竟是什么


    DELETE的行为很像SELECT,因为它需要找到符合删除条件的行。为此,它将使用与SELECT相同的技术,如果您的条件_1、条件_2和条件_3没有覆盖索引,它们将触发一个表扫描,该扫描将按数据大小(380M)计时。

    首先查看您的和查询。。首先,它应该不会占用
    28分钟的时间


    也许值得一看,也许你也可以尝试以增量方式删除记录。有什么建议吗?

    表上有任何删除触发器吗?条件不是更大…只是比较EX:c_number='01102'。我不能截断…因为我没有删除此N表中的全部数据。嗨,用词不当,你能告诉我这种离子增量方法与一次性方法相比有多有用吗?…请参阅我的帖子: