mysql高级知识

 

2. mysql的like查询如何区分大小写

where binary col2  like 'A%'

或者在建立表的时候就对该字段加上binary    col2 varchar(10) binary


mysql可以替代like的方法有 INSTR(str,substr) 和  regexp

 

 

3.mysql的事务解释 

简单明了  http://taoxingtianxia.iteye.com/blog/1439965

 

4. mysql关于中文的乱码问题

http://zsw4522006.iteye.com/blog/1436719

 

5.mysql中提高查询速度的方法

http://wzq1230789.iteye.com/blog/1431843

 

6.mysql中存储过程,需要先用delimiter重新定义分隔符,用完后再恢复成分号

 不能用 create or replace , 只用create

delimiter //

create procedure BRH_SEQ_GENERATOR (appType VARCHAR(100), bizType VARCHAR(100), seqNo out varchar(100)) 
  select concat(t.current_value , appType , bizType , LAST_INSERT_ID()
  into seqNo
  from comm_perform_param t
  where t.code = 'biz.settle.date';
end//
delimiter ;


7. 关于count(*) count(1) count(col)问题

http://bbs.csdn.net/topics/390635419

结论:
COUNT(1)和COUNT(*)是一样的,你可以在里面写任何常量,如COUNT('CSDNDSB'),不会输出一列常量,不会去系统表里找所有列名。
COUNT(1)和COUNT(列名)意义不同,不能放在一起比较。唯一可比较的情况是列名是单主键表的主键列,即聚集非空单键值索引,这种情况下除非想要强制走聚集索引扫描,否则COUNT(1)优于COUNT(列名),因为前者允许计划选择最估索引,而且没有列输出。

关于那个COUNT的数量上限问题,虽然有,但基本不会遇到。因为INT的上限是21亿,有这么大数据量的表会不会用MSSQL本身就是个问题,如果真的在MSSQL里有这么个表还有人敢用COUNT算总数量那这人的智商不会超过60,所以知道有上限就好,平常不用太在意。

 

 


 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值