日历

2010年七月
« 6月   8月 »
 1234
567891011
12131415161718
19202122232425
262728293031  

最近评论

    MS应用

    聚集索引和非聚集索引的区别?

    实际上,您可以把索引理解为一种特殊的目录。微软的SQL   SERVER提供了两种索引:聚集索引(clustered   index,也称聚类索引、簇集索引)和非聚集索引(nonclustered   index,也称非聚类索引、非簇集索引)。下面,我们举例来说明一下聚集索引和非聚集索引的区别:

    其实,我们的汉语字典的正文本身就是一个聚集索引。比如,我们要查“安”字,就会很自然地翻开字典的前几页,因为“安”的拼音是“an”,而按照拼音排序汉字的字典是以英文字母“a”开头并以“z”结尾的,那么“安”字就自然地排在字典的前部。如果您翻完了所有以“a”开头的部分仍然找不到这个字,那么就说明您的字典中没有这个字;同样的,如果查“张”字,那您也会将您的字典翻到最后部分,因为“张”的拼音是“zhang”。也就是说,字典的正文部分本身就是一个目录,您不需要再去查其他目录来找到您需要找的内容。

    我们把这种正文内容本身就是一种按照一定规则排列的目录称为“聚集索引”。

    linux/unix基础知识

    Xen 初学者指南—-转载

    原文地址:http://www.linuxsir.org/main/?q=node/188

    0、本文约定;

    虚拟平台是指能支持运行Xen的真实安装的操作系统;
    虚拟操作系统:是指在虚拟平台上安装和虚拟运行的操作系统;

    比如我在Slackware 中安装了Xen,那Slackware就是虚拟平台,通过虚拟平台就可以虚拟其它操作系统了;比如通过Slackware来虚拟Debian、Fedora … …

    linux企业应用

    虚拟化技术的几篇文章

    http://www.cnblogs.com/ccfxny/archive/2009/07/30/1535285.html  在Vmware workstation上创建xen主机

    http://www.cnblogs.com/ccfxny/archive/2009/07/31/1535932.html  Xen Server一安装篇

    http://www.cnblogs.com/ccfxny/archive/2009/08/01/1536545.html  Xen Server二安装xc及管理xen主机

    http://blog.is36.com/xen340/       XEN在虚拟化技术中应用搭建VPS,有几个资源的链接,挺好的

    linux/unix基础知识

    vmlinuz,initrd和system.map简介

    vmlinuz是可引导的、压缩的内核。“vm”代表 “Virtual Memory”。Linux 支持虚拟内存,不像老的操作系统比如DOS有640KB内存的限制。Linux能够使用硬盘空间作为虚拟内存,因此得名“vm”。vmlinuz是可执行的Linux内核,它位于/boot/vmlinuz,它一般是一个软链接。

    initrd是linux在系统引导过程中使用的一个临时的根文件系统,用来支持两阶段的引导过程。

      直白一点,initrd就是一个带有根文件系统的虚拟RAM盘,里面包含了根目录‘/’,以及其他的目录,比如:bin,dev,proc,sbin,sys等linux启动时必须的目录,以及在bin目录下加入了一下必须的可执行命令。

    MS应用

    数据库调优的方法有那些

    1.引言    
        数据库调优可以使数据库应用运行得更快,它需要综合考虑各种复杂的因素。将数据均 匀分布在磁盘上可以提高I/O 利用率,提高数据的读写性能;适当程度的非规范化可以改善 系统查询性能;建立索引和编写高效的SQL 语句能有效避免低性能操作;通过锁的调优解 决并发控制方面的性能问题。     数据库调优技术可以在不同的数据库系统中使用,它不必纠缠于复杂的公式和规则,然 而它需要对程序的应用、数据库管理系统、查询处理、并发控制、操作系统以及硬件有广泛 而深刻的理解。

     2.计算机硬件调优

    2.1 数据库对象的放置策略     利用数据库分区技术,均匀地把数据分布在系统的磁盘中,平衡I/O 访问,避免I/O 瓶 颈:    
        (1)访问分散到不同的磁盘,即使用户数据尽可能跨越多个设备,多个I/O 运转,避免 I/O 竞争,克服访问瓶颈;分别放置随机访问和连续访问数据。    
        (2)分离系统数据库I/O 和应用数据库I/O,把系统审计表和临时库表放在不忙的磁盘 上。    
        (3)把事务日志放在单独的磁盘上,减少磁盘I/O 开销,这还有利于在障碍后恢复,提 高了系统的安全性。    
        (4)把频繁访问的“活性”表放在不同的磁盘上;把频繁用的表、频繁做Join的表分别 放在单独的磁盘上,甚至把频繁访问的表的字段放在不同的磁盘上,把访问分散到不同的磁 盘上,避免I/O 争夺。

    linux/unix基础知识

    sql数据库面试题–网上搜的

      SQL数据库面试题
    1、SQL SREVER中,向一个表中插入了新数据,如何快捷的得到自增量字段的当前值

    这种情况其实我们经常用到,比如我们新建了一个用户,建立完用户后我们希望马上得到这个新用户的ID,因为我们一般都是把这种用户ID的字段设置成自增长类型的,乍看起来好像没有要得到那个新ID很麻烦,其实sql server内置了一些全局的变量,使我们很容易就得到那个新的自增字段的ID,就是使用@@IDENTITY。

          在一条 INSERT、SELECT INTO 或大容量复制语句完成后,@@IDENTITY 中包含语句生成的最后一个标识值。如果语句未影响任何包含标识列的表,则 @@IDENTITY 返回 NULL。如果插入了多个行,生成了多个标识值,则 @@IDENTITY 将返回最后生成的标识值。如果语句触发了一个或多个触发器,该触发器又执行了生成标识值的插入操作,那么,在语句执行后立即调用 @@IDENTITY 将返回触发器生成的最后一个标识值。

    在具体应用中可以这样来写SQL语句:

    linux/unix基础知识

    sql经典面试题和答案-网上搜的

    1.一道SQL语句面试题,关于group by
    表内容:
    2005-05-09 胜
    2005-05-09 胜
    2005-05-09 负
    2005-05-09 负
    2005-05-10 胜
    2005-05-10 负
    2005-05-10 负

    如果要生成下列结果, 该如何写sql语句?

    linux/unix基础知识

    sql面试题–网上搜的

    d
    sname
    smoney
    sprovince

    1
    zhangsan
    2098
    A

    2
    lisi
    3000
    B

    3
    wangwu
    6789
    C

    4
    liumazi
    4587
    C

    5
    dongjiu
    3298
    B

    6
    shiga
    4567
    A

    id:合同id  sname:姓名     smoney :业绩     sprovince:地区
    第一道:显示出  业绩 大于同一地区平均值的 合同id  姓名 地区业绩
    第二道:把同一地区的  平均业绩 地区 插入到新表中 (新表只包含两个字段即:平均业绩 地区)

     请写出sql语句

    linux企业应用

    rsync 服务器架设方法--转载

    原文地址:http://www.linuxsir.org/main/?q=node/256

    1 什么是rsync;
    rsync is a file transfer program for Unix systems. rsync uses the “rsync algorithm” which provides a very fast method for bringing remote files into sync. It does this by sending just the differences in the files across the link, without requiring that both sets of files are present at one of the ends […]

    linux/unix基础知识

    Linux面试题大全 转载

    Linux面试题大全,测测你的水平(答案)

    一.填空题:
    1. 在Linux系统中,以 文件 方式访问设备 。
    2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统。
    3. Linux文件系统中每个文件用 索引节点来标识。

    Linux文件系统使用索引节点来记录文件信息,作用于Windows的文件分配表类似,索引节点是一个数据结构,它包含了一个文件的文件名,位置,大小,建立或修改时间,访问权限,所属关系等文件控制信息,一个文件系统维护了一个索引节点的数组,每个文件或目录都与索引结点数组中的唯一一个元素对应,系统为每个索引结点分配了一个号码,也就是该结点在数组中的索引号,称为索引结点号。

    Linux文件系统将文件索引结点号和文件名同时保存在目录中,所以目录只是将文件的名称和它的索引结点号结合在一起的一张表。目录中每一对文件名称和索引结点号称为一个连接。
    4. 全部磁盘块由四个部分组成,分别为引导块 、超级快 、 i节点表块 和文件存储区(数据块和目录块)。

    linux/unix基础知识

    北京某公司运维工程师面试题 答案仅供参考

    原文:http://bbs.linuxtone.org/viewthread.php?tid=4903&highlight=%D4%CB%CE%AC%2B%CA%D4
    一、有文件file1

    1、查询file1里面空行的所在行号

    awk ‘{if($0~/^$/)print NR}’ file
    or
    grep -n ^$ file |awk ‘BEGIN{FS=”:”}{print $1}’

    2、查询file1以abc结尾的行
    grep abc$ file1

    linux/unix基础知识

    数据库的查询题目--较难

    原文地址:http://www.javaeye.com/topic/194446
    设有学生选取修课程数据库:
    S(S#, SNAME, AGE, SEX, DEPARTMENT, ADDRESS, BIRTHPLACE)
    SC(S#, C#, GRADE)
    C(C#, CNAME, TEACHER)
    (1) 李老师所教的课程号、课程名称;
    SELECT  C#, CNAME;
    FROM  C;
    WHERE  TEACHER=”李”
    (2) 年龄大于23岁的女学生的学号和姓名;
    SELECT  S#, SNAME;
    FROM  S;
    WHERE  AGE>23  AND  SEX=”女”
    (3) “李小波”所选修的全部课程名称;
    SELECT  CNAME;
    FROM  S,  SC;
    WHERE  S.S#=SC.S#  AND  SNAME=’李小波’
    (4) 所有成绩都在80分以上的学生姓名及所在系;
    SELECT  SNAME, DEPARTMENT;
    FROM  S, SC;
    WHERE  S.S#=SC.S#  AND  SC.S# ;
    not  in ( SELECT  S#;
    FROM  SC;
    WHERE  GRADE<80 )
    (5) 没有选修“操作系统”课的学生的姓名;
    SELECT  SNAME ;
    FROM  S ;
    WHERE  S#  NOT  IN
    (SELECT  S# […]

    linux/unix基础知识

    SQL练习题—转载

    原文地址:http://gundumw100.javaeye.com/blog/618011
    题目1

    问题描述:
    为管理岗位业务培训信息,建立3个表:
    S (S#,SN,SD,SA)   S#,SN,SD,SA 分别代表学号、学员姓名、所属单位、学员年龄
    C (C#,CN )        C#,CN       分别代表课程编号、课程名称
    SC ( S#,C#,G )    S#,C#,G     分别代表学号、所选修的课程编号、学习成绩
    要求实现如下5个处理:
      1. 使用标准SQL嵌套语句查询选修课程名称为’税收基础’的学员学号和姓名
      2. 使用标准SQL嵌套语句查询选修课程编号为’C2’的学员姓名和所属单位
      3. 使用标准SQL嵌套语句查询不选修课程编号为’C5’的学员姓名和所属单位
      4. 使用标准SQL嵌套语句查询选修全部课程的学员姓名和所属单位
      5. 查询选修了课程的学员人数
      6. 查询选修课程超过5门的学员学号和所属单位

    linux/unix基础知识

    xargs命令的使用详解

    xargs的参数:
       -E  EOFString指定逻辑EOF字符串以替换缺省的下划线”_”。 xargs命令读取标准输入直到达到EOF或指定的字符串。

       如果不指定 -E 标志,则采用下划线”_”为逻辑EOF字符串。 如果不指定EOFString 参数,逻辑EOF字符串能力被禁用且下划线被照字面含义使用。xargs命令读取标准输入直到达到EOF或指定的字符串。

       -I ReplaceString(大写i)。
         插入标准输入的每一行用command参数的自变量,把它插入出现的每个ReplaceString的Argument中。
         ReplaceStrings不能在超过5个自变量中使用。在每个标准输入行开始的空字符被忽略。每个 Argument 能包含一个或多个 ReplaceStrings,但不能大于 255 字节。     -I 标志同样打开 -x 标志。

    linux企业应用

    postfix配合squirrelmail搭建webmail邮件服务器

    构建基于Postfix的webmail
         在完成源码安装Postfix-2.6.5邮件服务器和源码安装dovecot-1.1.4之后,可以考虑webmail了,毕竟,使用命令操作发信还是有些麻烦的。postfix支持的webmail比较多,比如OpenWebmail、Extmail、SquirrelMail等,下面我们使用squirrelmail,下载地址http://www.squirrelmail.org,可以下载最新的版本,这里我下砸了squirrelmail-1.4.20和中文语言包zh_CN-1.4.13-20071220.tar.bz2。
        加压并安装中文语言包,步骤如下:
    [root@myfreelinux htdocs]# tar jxvf /var/ftp/pub/squirrelmail-1.4.20.tar.bz2
    [root@myfreelinux htdocs]# mv squirrelmail-1.4.20/ webmail
    [root@myfreelinux htdocs]# cd webmail
    [root@myfreelinux webmail]#  pwd
    /usr/local/apache2/htdocs/webmail
    [root@myfreelinux webmail]# tar jxvf /var/ftp/pub/zh_CN-1.4.13-20071220.tar.bz2

    linux企业应用

    源码安装Postfix-2.6.5邮件服务器和源码安装dovecot-1.1.4

    一、 postfix的安装过程
        安装postfix之前,首先检查sendmail是否启动,因为sendmail模式是安装启动的:
    [root@myfreelinux pub]# chkconfig –list sendmail
    sendmail        0:off 1:off 2:on 3:on 4:on 5:on 6:off
    [root@myfreelinux pub]# service sendmail status
    sendmail (pid  2887) is running…
    [root@myfreelinux pub]# service sendmail stop
    Shutting down sm-client:                                   [  OK  ]
    Shutting down sendmail:                                    [  OK  ]
    [root@myfreelinux pub]# chkconfig –level 2345 sendmail off

    linux企业应用

    mysql php源码安装和配置步骤 Discuz和Ucenter安装配置

    安装mysql:
        MySQL是目前最受欢迎的关系型数据库系统之一,在2008年以前由MySQL AB公司开发、发布和支持。2008年1月SUN公司将MySQL AB收购,目前MySQL项目由SUN公司继续开发和维护,SUN公司又被甲骨文收购。MySQL AB中的“AB”是瑞典语“Aktiebolag”或“股份公司”的首字母缩写,可翻译为“MySQL有限公司”。MySQL是一个开源的数据库服务器软件,可以自由从Internet下载和使用,官方站点为: www.mysql.com。MySQL是一个真正的多线程、多用户的SQL数据库服务器,基于客户/服务器结构实现,具有功能强大、使用简单、管理方便、查询速度快、安全可靠等优点。
        安装步骤如下:
    [root@myfreelinux ~]# rpm -qa | egrep mysql 在使用源码安装前,确认没有安装二进制的mysql,一面引起冲突。
    [root@myfreelinux ~]# cd /var/ftp/pub
    [root@myfreelinux pub]# ls
    mysql-5.0.56.tar.gz
    [root@myfreelinux pub]# tar zxf mysql-5.0.56.tar.gz
    [root@myfreelinux pub]# cd mysql-5.0.56
    [root@myfreelinux mysql-5.0.56]# ./configure –prefix=/usr/local/mysql
    [root@myfreelinux mysql-5.0.56]# make && make install

    linux企业应用

    linux下安装awstats7.0

        免费的网页日志分析工具awstats,可以分析统计站点的一下信息:
        一:访问量,访问次数,页面浏览量,点击数,数据流量等   
        二:精确到每月、每日、每小时的数据   
        三:访问者国家   
        四:访问者IP   
        五:Robots/Spiders的统计   
        六:纺客持续时间   
        七:对不同Files type 的统计信息   
        八:Pages-URL的统计   
        九:访客操作系统浏览器等信息   
        十:其它信息(搜索关键字等等)
    awstats最新版本下载地址:http://cdnetworks-kr-1.dl.sourceforge.net/project/awstats/AWStats/7.0/awstats-7.0.tar.gz

    linux企业应用

    linux下apache建立系统用户的个人主页

          建立系统用户的个人主页。实际上在我们申请空间的时候,就是建立一个和我们用户名相同的家目录,linux系统新建立用户的时候,将/etc/skel内的隐藏文件复制到用户的家目录,并将这些文件所属用户改为该用户。如果有很多人来到你的服务器上申请空间,那么你可以在/etc/skel内建立一个目录,比如public_html,这样建立这个用户的时候,用户的家目录下就有这个目录了,而不需要管理员手动添加这个目录了。
    在配置用户个人主页的时候,需要在httpd.conf中添加以下内容:
    NameVirtualHost 192.168.1.6
    <VirtualHost www.myfreelinux.com>
            DocumentRoot htdocs/www
            ServerName   www.myfreelinux.com
            ErrorLog     logs/www/error_log
            CustomLog    logs/www/access_log common
    </VirtualHost>
    UserDir public_html
    <Directory “/home/*/public_html/”>
            allowoverride  none
            options         none
            order           allow,deny
            allow   from    all
    </Directory>

    linux企业应用

    linux下apache编译安装和基于域名 基于IP地址 基于端口的虚拟主机的设置

        在实际工作中大多数情况下均使用编译安装方式安装httpd,选择使用编译的方式安装httpd软件包时,相对于RPM的安装方式来说会复杂一些,但是具有以下优点:
        1、更加灵活、自由,可以根据实际的Web应用需求在编译之前进行功能的定制;
        2、可以获得最新的软件版本。各种开源软件的源码包都是最先公开的版本,而rpm安装版的包文件通常要晚一些时候才会出现,Linux发行版自带的RPM包会落后更多时间。使用新版本的软件可以及时修复一些漏洞、提高软件性能;
        3、编译安装获得的Apache服务器,其目录结构和文件配置比较一致

        Apache服务器的源码包下载地址是http://httpd.apache.org/download.cgi。下面介绍安装步骤和安装方法。
        下载源码包后,将源码包上传到/var/ftp/pub,然后解压缩到/usr/src,建立/usr/local/apache2目录,编译安装。
    [root@myfreelinux pub]# ls
    httpd-2.2.9.tar.gz
    [root@myfreelinux pub]# tar zxf httpd-2.2.9.tar.gz -C /usr/src
    [root@myfreelinux pub]# cd /usr/src/httpd-2.2.9/
    [root@myfreelinux httpd-2.2.9]# mkdir /usr/local/apache2
    [root@myfreelinux httpd-2.2.9]# ./configure –prefix=/usr/local/apache2 –enable-so –enable-rewrite
        配置的时候用到的参数可以使用“./configure  –help”查看配置项帮助来获得帮助信息;在这里用到的参数解释如下:
       –prefix:用于指定服务程序(在这里是httpd程序)将要安装到的系统目录,这里设置的目录是“/usr/local/apache2”,一般编译安装的程序安装在/usr/local目录内;
       –enable-so:使httpd服务具有动态加载模块的功能;
       –enable-rewrite:使httpd服务具有rewrite网页地址重写功能(根据需要将用户请求的URL修改为别的地址)。