首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Salesforce 大数据量处理篇(二)Index

那什么样的SOQL语句是selective的,有什么定义或者特点去区分,如何去更好的优化SOQL呢?接下来的内容就抛砖引玉,引出相关的话题。...一. selective的SOQL语句 我们想确定一个SOQL是否为selective的,当前SOQL应该具有以下的特征: 1. where后面的filter的字段应该最少有一个索引字段(字段应该是 indexed...(注:阈值我们可以理解成临界值,即当前的SOQL语句在当前系统通过当前 filter能查询出来的最大值) 举个例子。...所以一言以蔽之,selective的SOQL的语句具备的特性有两个: 1. filter包含 索引字段;2.查询出来的数据满足当前要求的阈值。...这里扩充两个对大量数据的SOQL比较灾难的两个filter,又常常是我们经常用到的。一个是使用 formula字段进行 filter,一个是使用 null 进行filter。

1K20

两个看似奇怪的MySQL语句问题

今天同事给了我一个文件需要更新下CMDB的数据,提供的内容是excel的形式,因为条目比较多,我需要做一些转换,批量修改成对应的SQL语句,因为只有我知道这个逻辑,所以这个转换工作由我来做。...本来看起来很简单的一个问题,结果因为不经意的操作出了两个问题,会牵扯出来两条有趣的SQL问题。...=trim('10.0.0.1 ') and server_db_port=7382; 这样就可以批量生成大量的update语句,更新即可。...我把语句给转换成了这样,很快就编辑好了,但是执行语句之后发现没有生效,真是奇怪,自己抽出一条语句来单独执行看看,发现结果竟然有这样的提示,影响到的行数有500多行,这看起来就麻烦了。...修改语句之后,数据还是没有变更过来,这个时候碰到了一个诡异的问题, 上面的update语句手工拷贝过来能够正常执行,但是在文本里就不可以。反反复复试了多次,还可以复现,让我都有些怀疑人品了。

1.1K70
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    salesforce零基础学习(一百二十一)Limitation篇之Heap Size Limitation

    首先先说一下 salesforce中的 heap size简单概念, salesforce中的heap size和java中的heap size概念基本相同,当对象或者变量创建时,就会给分配内存,当运行时基于逻辑动态分配内存...在debug log中通过HEAP_ALLOCATE来确定对象或者变量的分配内存的情况。...针对heap size limit拥有两个方法可以查询: Limits.getHeapSize():返回已用于堆的大致内存量(单位为:字节)。...使用SOQL for loop从大量查询的数据中迭代和处理数据,官方也介绍了很多的 SOQL for loop的demo。...更短的命名以及Field api 名称: 诚然使用好的命名规范有更强的可读性,不过短的名字确实可以省一些 heap size 移除不必要的debug log语句,特别是生产环境。

    51830

    对象池、连接池的意义

    这次我们来讲讲对象池、连接池的意义,在此之前我们先了解学习一些其他的基础知识,以便我们结合理解池的意义。...高并发下频繁new对象的资源占用 当我们new一个对象的时候,需要先经过这几个步骤:类加载检查、分配内存空间、设置类的基本信息、调用初始化构造函数。...频繁地创建销毁对象将会占用更多cpu资源,高并发时容易导致cpu长期处于高负载运行状态。 什么是对象池 对象池就是一个在程序启动的时候先创建好若干个可以重复使用的对象。...对象池服务可以减少从头创建每个对象的系统开销。 大并发下多个mysql连接导致mysql繁忙全站崩溃 <?...总结 连接池、对象池的意义不仅仅是可以减少频繁创建销毁对象连接的性能开销 更大的意义是可以保证应有服务客户端的稳定运行。

    83520

    对象池、连接池的意义

    这次我们来讲讲对象池、连接池的意义,在此之前我们先了解学习一些其他的基础知识,以便我们结合理解池的意义。...高并发下频繁new对象的资源占用 当我们new一个对象的时候,需要先经过这几个步骤:类加载检查、分配内存空间、设置类的基本信息、调用初始化构造函数。...频繁地创建销毁对象将会占用更多cpu资源,高并发时容易导致cpu长期处于高负载运行状态。 什么是对象池 对象池就是一个在程序启动的时候先创建好若干个可以重复使用的对象。...对象池服务可以减少从头创建每个对象的系统开销。 大并发下多个mysql连接导致mysql繁忙全站崩溃 <?...总结 连接池、对象池的意义不仅仅是可以减少频繁创建销毁对象连接的性能开销 更大的意义是可以保证应有服务客户端的稳定运行。

    66330

    数据库连接对象的使用

    连接字符串 1、连接字符串的写法 在字符串变量中,描述连接字符串所需的服务器地址、数据库名称、集成安全性(即是否使用Windows验证) sqlConnection.ConnectionString =...所需的各类对象 using System.Data.SqlClient; 返回数据库连接对象,参数字符串。...实例化“连接对象”,并打开连接 SqlConnection sqlConnection = new SqlConnection(); //声明并实例化SQL连接; sqlConnection.ConnectionString...; 使用完成后,需要关闭“连接对象” sqlConnection.Close(); //关闭SQL连接; 3、使用MessageBox显示连接状态 MessageBox.Show...SQL连接所需的连接字符串; sqlConnection.Open(); //打开SQL连接; ### 配置文件 App.config 应用程序配置文件(App.config

    1.4K20

    PDO对象与mysql的连接超时

    在php中每一个new的PDO对象,都会去连接mysql,都会创建一条tcp连接.当pdo对象赋予的变量是一个的时候,那么他只会保持一个tcp连接,没有被引用的对象连接会直接断掉.如果不对这个对象进行任何操作...如果使用了长连接参数,那么不管循环执行几次new PDO,只会有一个tcp连接 关于超时现象,网上的资料大部分说受两个参数interactive_timeout和wait_timeout影响,但是经过我测试...,修改了这两个参数,如果10秒没有任何操作,连接仍然会被mysql断掉,不管是使不使用长连接参数....new PDO对象,或者每隔循环一定次数确保在10秒内重新new PDO对象 测试过程如下: 开一个终端,不停的查看当前的连接情况 while true;do clear;date;netstat -...而被mysql断掉的连接是close_wait状态,也就是被关闭一方,mysql服务里的连接是FIN_WAIT2 ? <?

    3.6K20

    Druid连接池监控的两个坑

    大家好,又见面了,我是你们的朋友全栈君。 阿里的Druid大家都知道是最好的连接池,其强大的监控功能是我们追求的重要特性。但在实际情况中也有不少坑,说下最近遇到的一个坑吧!...LOG.error("session ip change too many"); return; } remoteAddresses += ';' + ip; } 再来看看Druid连接池获取...equalsIgnoreCase(ip)) { ip = request.getRemoteAddr(); } return ip; } 分析其源码 这是阿里Druid连接池的...看了下Druid session监控的页面,同一个会话请求次数并不多,但记录的IP却有问题,一个请求最多的会保存多级代理形成的多段IP(如192.168.1.2,192.168.1.3,192.168.1.4...并且Github上的Druid官方错误申报里面也有同样的问题,阿里也没有修复的意思,所以我们已暂时关闭session监控功能。

    1.6K10

    salesforce零基础学习(九十七)Big Object

    根据上面的表结构,索引使用 Rider_Account__c 以及 Start_Time__c 两个值共同作用,所以当有两条记录的这两个值均相同情况下,数据库只会创建一条数据。...big object支持两种查询,同步 SOQL以及异步的SOQL。 如果 可以确定查询出来的数据量少想要在 apex中使用,我们可以使用SOQL进行查询,但是不是所有的SOQL语法可以使用。...异步SOQL以及在report / dashboard使用自行查看上方文档。 三. Big Object 限制 由于大对象的运行规模很大,它们不能完全像非大对象那样工作。...SOQL关系查询基于从选择字段列表中的大对象到标准或自定义对象的查找字段(不在过滤器或子查询中)。...大对象字段的限制类似于自定义对象的限制,并取决于您单位的许可类型。 大对象不支持包含大对象,标准对象和自定义对象的交易。

    1.3K31

    salesforce的功能_salesforce开发

    不妨先看下图错误提示:在SELECT语句里面SOQL Polymorphism和Who.Type无法共存 Who.Type方案:但由于WhoId有且只关联Lead / Contact 2个对象,不妨通过创建...这两个对象包含Task和Event两部分数据; b. 这两个对象只读,不能更新字段(不能编辑),也不能删除; c....>========================== 1、使用SOQL语句查询时,字符串类型的只能使用‘单引号’,否则报错:Unknown error parsing query; eg:SELECT...:Salesforce Developers 2、标准字段的API Name即为该标准字段的Field Name; eg:Case标准对象的Subject API Name即为 Subject 3、计算两个日期之间相隔的天数...uri截取/后的值赋给该变量 3、利用soql语句查到Id = :caseId的那条记录 4、删除该记录 */ @HttpPut global static ID upsertCase(String id

    7K20
    领券