`
文章列表
   //两种创建model的方式 Ext.define("person",{    extend:"Ext.data.Model",    fields:[     {name:'name',type:'auto'},     {name:'age',type:'int'},     {name:'email',type:'auto'}    ]   });      Ext.regModel("user",{    fields:[     {name:'name',type:'auto'},      ...
    4年前玩过extjs ,如今重新捡回来,感觉还是有点手生,今天看了一下视频,记录一下。       Ext.onReady(function(){}) //加载事件 var o = { say : function(){ alert(11111); } } var fn = Ext.Function.alias(o,'say'); fn(); //创建函数别名 Ext.get("myb") //这个能获取页面id为myb的元素 //创建对象的几种方式 1. var win = new Ext.window.Win ...
当你得到一条sql语句的执行计划后,对.确实您能看懂是什么意思,比如表连接的方式,是否走了索引,但是看懂了却不知道从哪里下手优化,这是个问题,曾经困扰我一段时间,(鄙人刚学oracle不久) 如果您和我的情况一样,建议看看下面几点.   您在查看计划时能否确定以下项是否正确? • 基数 • 每个对象是否生成正确的行数? • 访问方法 • 是否以最好的方式访问数据?扫描?索引查找? • 联接顺序 • 是否以正确的顺序联接各表以便尽早尽多地消除数据? • 联接类型 • 是否使用了正确的联接类型? • 分区修剪 • 我执行过分区修剪吗?是否消除了足够多的数据? • 并行度 ...
explain plan for  [select 语句] commit; select * from table(dbms_xplan.display);
枚举类型非常适合用来创建状态机,一个状态机通常可以拥有有限的几个状态,他通常根据输入,从一个状态进入到下一个状态。 下面是一个用枚举实现的自动售货机的例子,很简陋,但是表达清楚了意思就差不多了,也希望各位看官能指出不足之处。   package enums; import java.util.Random; /** * @描述 售货机可以接收的钞票金额和所有商品的价格 * @创建时间 2012-5-27 * @另请参照 */ public enum Input { /**五分硬币**/ NICKEL(5), /**一角硬币**/ DIME(1 ...
package enums; import java.util.Random; //获取枚举中随机属性 public class Enums { public static <T extends Enum<T>> T random(Class<T> ec){ return random(ec.getEnumConstants()); } public static <T> T random(T[] values){ //每次调用new一个新random,标识要不一样,要不然每次运行的结果都一样。 ...
看 thinking in java 枚举那一段,看到这个例子还挺有意思的,所以记录了下来。   这是用枚举+责任链模式 模拟邮件发信步骤的例子。(PS:遍历枚举时顺序是按照定义时的顺序)   废话少说,贴代码。效果把代码拷回去run一下 ...
当我们遇到一下情况的时候:   A表 --->目标表,一般来说是 需要插入数据或者更新数据的表, 必须是 [table]  B表 ---->  相对应匹配A表的数据集 可以是[table,子查询,视图]   我们的A表需要根据一定的条件和B表做匹配操作,当B表存在和A表条件匹配的数据,执行更新操作,执行插入操作。 打比方说就是如果A表里如果存在B表中的数据,则执行对A表的更新操作,不存在则执行插入操作   语法:   MERGE [INTO [schema .] table [t_alias] 目标表   USING [schema .] { t ...
这一个算是一个比较完善的快速排序了吧,就是代码多了点,没办法,要想性能好,考虑的东西就得多点。 package sort; public class QuickSort { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int n = 10000000; int[] arr = new int[n]; for (int i = n; i > 0; i--) { arr[i - ...
希尔排序是1959年某个叫希尔的数学大大发明的,它其实就是在插入排序的基础上做了一些优化,但是效率却不知道提高了多少倍,我估计几万倍应该有吧(纯属个人瞎蒙)。插入排序是一个一个来插,而希尔排序则是有一个间隔 ...

归并排序

归并排序也是用到递归的一种排序方式,他比简单排序效率要快很多,冒泡,选择,插入等要O(n*n)的时间复杂度,而归并只需要O(N*logN)的时间。他也比较好实现,但是有个缺点就是需要用到是原数组双倍的空间,因为他要在内存中有另外一个和原数组一样大的数组来做中间数组。 归并数组的特点是用空间换时间 归并算法的核心是合并两个有序的数组,先从两个元素开始合并成一个有序数组,然后是两个容量为二的有序数组合并为一个有序数组 ........... 直到合并成了和原数组一样大下的有序数组,排序完成。所以这也是要用到递归的原因。 package sort; public clas ...

sql 查询优化准则

    博客分类:
  • SQL
根据我们的经验(由很多业界专家证明),在 SQL Server 上取得的性能提高有 80% 来自对 SQL 编码的改进,而不是来自于对于配置或系统性能的调整。”—凯文 克莱恩等,Transact-SQL Programming 作者 “经验表明 80%-90% 的性能调优是在应用级做的,而不是在数据库级”—托马斯 白特,Expert One on One: Oracle 作者 可见sql语句对于数据库性能的重要性。 各种操作符的效率排序:(由高到低) = > >= < <= LIKE <> LIKE 和 <>都 ...
二进制数据 分为原码,反码 和补码 。 做位运算的时候都是用的补码,正数的原码和补码反码都是一样的,而负数的反码=符号位不变其他位逐一取反。补码等于反码+1.   二进制最高位是符号位,0是正数,1是负数。   位运算结果是补码,要转为原码才是正确的。(正数可以不转)
冒泡排序最经典: public void BubbleSort1(){ for (int i = nElement - 1; i > 0; i--) { for (int j = 0; j < i; j++) { if(arr[j] > arr[j+1]){ swap(j,j+1); } } } } private void swap(int a,int b){ arr[a] = arr[a] + arr[b]; arr[b] = arr[ ...
数组是应用最广泛的数据结构,也是最简单的数据结构,它有着结构简单,算法通俗易懂的优点。数组又分为有序数组和无序数组,我们通常用的都是无序数组。下面是这两种数组之间的区别   无序数组的优点:插入快,根据索引查找快。缺点:在未知数组位置的情况下查找慢,删除慢。 有序数组的优点:使用二分法查找快。缺点:插入数据和删除数据慢。因为插入数据要做排序操作。   综合以上,可以看出他们各自的使用场景,无序数组适合经常做插入操作和用索引访问的环境,而有序数组更趋向于随机查找。   下面是封装的一个数组类,扩展了了insert,delete,find方法,有许多不足之处,比如insert方法没有判 ...
Global site tag (gtag.js) - Google Analytics