如果想快速的清空MySQL中的表,可以使用Truncate命令。
Truncate能够快速的,对数据进行无差别的清空。

在Mysql中使用truncate的语法是
TRUNCATE TABLE [Table Name];

在Salesforce中同样提供了Truncate功能。不过只是提供一个按钮,并不提供任何代码及API调用Truncate的方式。
所以正确的应用场景,应该只是用来快速的清空临时数据或者测试数据。毕竟,无论使用Batch还是dataloader来删除全部数据都要花费大量的时间。

在Salesforce中想要看到Truncate按钮的话,需要达成如下条件,参考官方文档:

  1. Profile -> Administrative Permissions -> Customize Application -> True
  2. User Interface -> Setup -> Enable Custom Object Truncate -> True

然后在到Custom Object的详细画面,就能看到在Edit,Delete按钮旁边Truncate按钮出现了。

不过,并不是任何Object任何情况都能进行Truncate,有如下要求,参考官方文档:

  1. 不能被别的Object Lookup,或者处在Master-Detail中的Master地位。
  2. 不能被Report Snapshot参照。
  3. 不能有自定义字段是Index或者是External ID。
  4. 不能开启了skinny table。(关于Skinny Table的事情会另外写一篇)。

为什么会有如上的限制,显而易见,与Salesforce中Truncate的动作有关。
在Salesforce中,虽然Truncate功能与MySQL类似,用来清空表中的数据,但是会导致Custom Object的Id Prefix产生变化。所以所有通过三位Id Prefix引用此Custom Object的功能都会失效。如果Apex/VF/Button中有直接使用3位Id Prefix进行判断的逻辑,就会受到影响。

除此之外,另一点与MySQL不用的是,如果有一个自增字段。MySQL在Truncate后,会重置自增字段的计数器。而Salesforce则不会。没错,虽然ID变了,但自增字段会接着数并不会重新回到起始值。

海外同步地址:https://wp.me/p3i9xe-bG

Salesforce使用truncate清空数据库的更多相关文章

  1. 使用SQL语句清空数据库所有表的数据

    使用SQL语句清空数据库所有表的数据 近来发现数据库过大,空间不足,因此打算将数据库的数据进行全面的清理,但表非常多,一张一张的清空,实在麻烦,因此就想利用SQL语句一次清空所有数据.找到了三种方法进 ...

  2. SQLServer清空数据库中所有表的数据

    今早同事跟进客户反馈的问题时,提了个要求,要求清空数据库中所有表的数据. 记得之前用游标遍历所有的表名 + exec 动态语句 truncate table 表名 实现过这个功能. 网上搜了下,有更简 ...

  3. Oracle清空数据库中数据表数据的方法

    一.简介最近在项目发版测试的时候,导出dmp的时候不小心把开发库中的一些脏数据导出来了,测试那边导入进去之后一堆不规范的数据,为了不影响测试结果,于是总结了一个快速清空数据库数据表所有数据的方法. 二 ...

  4. redis 命令select、dbsize、清空数据库、info、client

    select 切换库 dbsize 当前库中数据条数 清空数据库 flushdb | flushall 清空数据,一个是清空当前库,一个清空当前实例 查看服务器及redis相关信息 infoinfo ...

  5. SQL Server 2008 R2 清空数据库中ldf日志文件

    /************************************************************ * Sql Server 2008 R2 清空数据库中ldf日志文件 * 将 ...

  6. mysql快速生成truncate脚本清空数据库表记录

    语句格式: select CONCAT('truncate TABLE ',table_schema,'.',TABLE_NAME, ';') from INFORMATION_SCHEMA.TABL ...

  7. android中清空一个表---类似truncate table 表名 这样的功能 android sqlite 清空数据库的某个表

    public void clearFeedTable(){ String sql = "DELETE FROM " + FEED_TABLE_NAME +";" ...

  8. 【Sqlserver清空数据库中所有表数据】

    脚本: CREATE PROCEDURE sp_DeleteAllData AS EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT AL ...

  9. 清空数据库错误:因为该表正由 FOREIGN KEY 约束引用 解决办法

    如下解决了五个问题 1. 清空数据 2. 有外键也可以, 因为是逆向删除, 从最后一张表删除. 且使用的是delete, 因为truncate不能对有外键的表 3. 种子问题, 如果表存在种子重设为0 ...

随机推荐

  1. php 依赖注入容器

    原文: http://blog.csdn.net/realghost/article/details/35212285 https://my.oschina.net/cxz001/blog/53316 ...

  2. ReactiveNative学习之Diff算法

    React 源码剖析系列 - 不可思议的 react diff深入浅出React(四):虚拟DOM Diff算法解析React diff 算法总结链接引用的文章React出于性能的考虑,为了避免频繁操 ...

  3. SQL TOP分页

    SQL TOP分页 2010-11-12 16:35:29|  分类: SQL |  标签: |字号大中小 订阅     1.分页方案一:(利用Not In和SELECT TOP分页) 语句形式:   ...

  4. Spring自学教程-ssh整合(六)

    以下是本人原创,如若转载和使用请注明转载地址.本博客信息切勿用于商业,可以个人使用,若喜欢我的博客,请关注我,谢谢!博客地址 感谢您支持我的博客,我的动力是您的支持和关注!如若转载和使用请注明转载地址 ...

  5. Bitmap 格式

    源:Bitmap 格式 参考:bitmap文件格式 Bitmap是Windows操作系统中的标准图像文件格式,可以分成两类:设备相关位图(DDB)和设备无关位图(DIB),DDB已经基本停用. Bit ...

  6. Xcode各版本官方下载

    官方下载, 用开发者账户登录,建议用Safari浏览器下载. 官方下载地址: https://developer.apple.com/xcode/downloads/ Xcode 66.4: http ...

  7. java 测试IP

    public static long calSpeed(String ip) { Runtime runtime = Runtime.getRuntime(); // 获取当前程序的运行进对象 Pro ...

  8. 普通项目如何转换成Maven项目 --转载自百度知道

    右键普通Java项目,在弹出的菜单中选择[Configure]-[Convert to Maven Project]: 2 在弹出的对话框中输入项目的groupId, artifactId和versi ...

  9. EntityFrameWork分页

    EF分页代码 using System; using System.Collections.Generic; using System.Linq; using System.Web; using Sy ...

  10. 洛谷 P1359 租用游艇

    题目描述 长江游艇俱乐部在长江上设置了n 个游艇出租站1,2,-,n.游客可在这些游艇出租站租用游艇,并在下游的任何一个游艇出租站归还游艇.游艇出租站i 到游艇出租站j 之间的租金为r(i,j),1& ...