SQL一些用法学习知识点总结

1、js、Java以及SQL分别修改日期。js是
var date = new Date();
date.setMonth(date.getMonth()-3);
2、注意case when then else end 的用法
3、declare @name dataType 这是定义 ,赋值的话可以是set或者select,select可以查到值再进行赋值
4、union用法,会合并两个字段都相同的表,会去重,如果是union all的话会合并所有的值
5、in和exist。in会做一个笛卡尔积,数据量大的时候不适合。当B表比A表数据大时适合使用exists(),因为

它没有那么遍历操作,只需要再执行一次查询就行. 如:A表有10000条记录,B表有1000000条记录,那么exists()

会执行10000次去判断A表中的id是否与B表中的id相等. 再如:A表有10000条记录,B表有100条记录,那么exists

()还是执行10000次,还不如使用in()遍历10000*100次,因为in()是在内存里遍历比较,而exists()需要查询数据

库,我们都知道查询数据库所消耗的性能更高,而内存比较很快.结论:exists()适合B表比A表数据大的情况
当A表数据与B表数据一样大时,in与exists效率差不多,可任选一个使用.
not in 和not exists
    如果查询语句使用了not in 那么内外表都进行全表扫描,没有用到索引;而not extsts 的子查询依

然能用到表上的索引。所以无论那个表大,用not exists都比not in要快。
6、SQL分组取每组前一(或几)条记录(排名)。这个可以用rowNum()
7、SQL查询效率优化:建立索引、用exist而不是in,避免使用or或者<>、字段进行操作、where函数中进行函

数操作等。但是注意索引并不是越多越好,索引固然可以提高相应的 select 的效率,但同时也降低了 insert

及 update 的效率,因为 insert 或 update 时有可能会重建索引,所以怎样建索引需要慎重考虑,视具体情

况而定。一个表的索引数最好不要超过6个,varchar/nvarchar 代替 char/nchar。任何地方都不要使用

select * from t ,用具体的字段列表代替“*”,不要返回用不到的任何字段。总之查询字段要加上索引,然

后注意在查询的时候不要用一些可能会导致无法使用索引的操作。

https://www.cnblogs.com/ShaYeBlog/p/3227244.html挺好的博客
8、shiro的简单用法<shiro:hasAnyRoles name=“abc,123” >
9、聚集索引clustered index,与非聚集索引。是指的物理存储位置是否按照顺序进行存储,如果是聚集索引

会插入到当前的物理位置中,如果是非聚集的那么会随便放一个位置就行
11、Assert.assertNotNull() 断言,测试的时候是否是得到了自己想要的结果,如果不是的话那么就报错,
12、eclipse中debug时候有时候会出现一个圆点,这是可能因为JVM跑的代码和设置断点的代码不是同一份的问

题。
13、jquery语法 $("#name").html(""); 会把id为name的标签赋值为空,相当于基本语法的innerHTML="";
14、jquery有一个ajax(),用来做AJAX,其实这是一种方式,用来动态加载吧
15、HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值