菜鸟成长日记-coalesce函数&&collate&&memcache缓存

来源:互联网 发布:如何测试网络丢包 编辑:程序博客网 时间:2024/06/04 18:50
1   第一次遇到coalesce函数,coalesce是一个sql函数,最直观的类比就是isnull函数。coalesce类似于isnull函数,但是功能比isnull函数强悍一些。coalesce()函数的作用,是从传入的参数从左到右,返回第一个不为null的参数的值。在对数据进行的完整性,严谨性,安全性验证时候很重要。
          基本demo用法:elect coalesce(a,b,c);  
      如果a==null,则选择b;如果b==null,则选择c;如果a!=null,则选择a;如果a b c 都为null ,则返回为null(没意义)。
  
 2  collate数据库编码的校对集。字符编码,一般提及到数据库编码
     CREATE DATABASE db_name
    [[DEFAULT] CHARACTER SET charset_name],
     数据表编码,
     CREATE TABLE tbl_name (column_list)
    [DEFAULT CHARACTER SET charset_name  一般会在后面加上校对集。做一次验证校对,应该是为了确保编码的一致性。但是还是没明白校对集的真正作用在哪里。求大神解答。
     MySQL两种常用表类型myisam跟innodb的区别:
    基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部键等高级数据库功能。 
   其中一个小常识点:InnoDB 中不保存表的具体行数,执行select count(*) from table时,InnoDB要扫描整个表来计算有多少行,但是MyISAM只要简单的读出保存好的行数即可。注意的是,当count(*)语句包含 where条件时,两种表的操作是一样的。(Jeery周梁) 
 
 3 memcache一种缓存系统,为了加快网站访问速度的开发的系统。为了分担数据库的压力,从内存开销里面来平衡数据库的开销。基本原理就是通过维护一张hash表,将数据库里面数据存通过一种hash算法,将数据存在内存中,然后需要用数据时候从内存里面取,从而大大减低对数据库的开销,从而大大提高读取速度。memcache可以存储各种格式的内容,文本,图像,视频等。简而言之:
 第一次从数据库获取,然后将数据放入memcached内存区,以后直接从内存中获取,这样速度更快.
 memcached就是在内存中维护一张巨大的hash表,通过自己的一套算法来维护数据的操作。
0 0