- 博客(4)
- 资源 (1)
- 收藏
- 关注
原创 innerjoin 和 exists的执行效率区别
今天在实现业务时发现经常使用exists语句竟然执行效率低下根本不出结果,反而innerjoin可以瞬间得到结果。后来发现是因为exsits需要从40万的数据集中去匹配200条数据是非常消耗资源的。 总结: 首先要确定数据分布情况,高命中的情况下使用exists的效率要比innerjoin的高,低命中率的情况下还是使用innerjoin的效率高。 如果在不清楚数据分布情况的情况下,直接用inner...
2018-12-07 09:22:00 6357
原创 JavaScript 普通递归和尾递归函数
递归函数是自己调用自己的函数。 递归函数执行时会形成一个调用记录,当子一层函数代码执行完成之后父一层函数才会销毁调用记录,这就形成了调用栈。栈的叠加可能会产生内存溢出。 n的阶乘 //案例一 普通递归 function factorial(n){ if( n === 1) return n; return n * factorial(n-1); } //案例二 尾递归 ...
2018-12-07 09:17:24 231
原创 JavaScript 闭包
闭包的概念 我的理解是:闭包就是能够从外部读取函数内部变量的函数。函数形式是由外部函数和内部函数组成,内部函数使用着外部函数的变量,把内部函数直接返回给外部。 闭包的写法 直接获取结果 function foo(c){ var num = c; return function A(){ num++; return num; } } var b = foo(5)...
2018-12-07 09:14:51 113
原创 JavaScript 执行顺序 注意事项
1.var变量提升 var是ES5中用于定义变量的保留字。 //1.正常情况 var a = 3; console.log(a); //输出结果:3 //2.只调用 console.log(a); //输出结果:Uncaught ReferenceError: a is not defined //3.先调用,后定义 console.log(a); var a = 3; //输出结果:u...
2018-12-07 09:09:13 187
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人