<?xml version="1.0" standalone="yes"?>
<?xml-stylesheet type="text/xsl" href="css/rss.xslt"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>阿猫的自用资料库 - 转载专区</title><link>http:///www.xiongmaotou.com/</link><description>阿猫的自用资料库 - </description><generator>RainbowSoft Studio Z-Blog 1.8 Arwen Build 90619</generator><language>zh-CN</language><copyright>本站信息为个人学习资料，整理来自互联网</copyright><pubDate>Tue, 09 Jun 2026 13:48:40 +0800</pubDate><item><title>SQL2005索引操作的数据库优化知识</title><author>admin@xiongmaotou.com (熊猫头)</author><link>http:///www.xiongmaotou.com/post/153.html</link><pubDate>Sun, 01 Apr 2012 02:30:13 +0800</pubDate><guid>http:///www.xiongmaotou.com/post/153.html</guid><description><![CDATA[<p>在 Microsoft&reg; SQL Server? 数据库中可以创建聚集索引。在聚集索引中，表中各行的物理顺序与索引键值的逻辑（索引）顺序相同。表只能包含一个聚集索引。聚集索引通常可加快 UPDATE 和 DELETE 操作的速度，因为这两个操作需要读取大量的数据。创建或修改聚集索引可能要花很长时间，因为执行这两个操作时要在磁盘上对表的行进行重组。</p><p>可考虑将聚集索引用于：</p><p>包含数量有限的唯一值的列，如 DE&lt;state DE&lt;列只包含 DE&lt;50 DE&lt;个唯一的州代码。 <br />使用下列运算符返回一个范围值的查询：BETWEEN、&gt;、&gt;=、&lt; 和 &lt;=。 <br />返回大结果集的查询。</p><p>索引是在数据库表或者视图上创建的对象，目的是为了加快对表或视图的查询的速度</p><p>按照存储方式分为：聚集与非聚集索引<br />按照维护与管理索引角度分为：唯一索引、复合索引和系统自动创建的索引</p><p>索引的结构是由：根节点---&gt;非叶节点---&gt;非叶节点---&gt;叶节点</p><p><br />1、聚集索引:表中存储的数据按照索引的顺序存储,检索效率比普通索引高,但对数据新增/修改/删除的影响比较大<br />特点：<br />　 <br />　 (1) 一个表可以最多可以创建249个索引<br />　 (2) 先建聚集索引才能创建非聚集索引<br />&nbsp;&nbsp;&nbsp; (3) 非聚集索引数据与索引不同序<br />&nbsp;&nbsp;&nbsp; (4) 数据与索引在不同位置<br />&nbsp;&nbsp;&nbsp; (5) 索引在叶节点上存储,在叶节点上有一个＂指针＂直接指向要查询的数据区域<br />&nbsp;&nbsp;&nbsp; (6) 数据不会根据索引键的顺序重新排列数据<br />&nbsp;&nbsp; <br />　创建聚集索引的语法：<br />&nbsp;&nbsp; create CLUSTERED INDEX idximpID ON EMP(empID)<br />２、非聚集索引:不影响表中的数据存储顺序,检索效率比聚集索引低,对数据新增/修改/删除的影响很少<br />特点：<br />&nbsp;&nbsp; (1) 无索引，数据无序<br />&nbsp;&nbsp; (2) 有索引，数据与索引同序 <br />&nbsp;&nbsp; (3) 数据会根据索引键的顺序重新排列数据<br />&nbsp;&nbsp; (4) 一个表可以有多个非聚集索引<br />&nbsp;&nbsp; (5) 叶节点的指针指向的数据也在同一位置存储<br />语法：<br />create NONCLUSTERED INDEX idxempID on emp(empID)<br />３、惟一索引：惟一索引可以确保索引列不包含重复的值.<br />可以用多个列，但是索引可以确保索引列中每个值组合都是唯一的<br />姓&nbsp;&nbsp; 名<br />李&nbsp;&nbsp; 二<br />张&nbsp;&nbsp; 三<br />王&nbsp;&nbsp; 五<br />语法： create unique index idxempid on emp(姓，名)也也是非聚集索引</p><p><br />4、复合索引：如果在两上以上的列上创建一个索引，则称为复合索引。<br />那么，不可能有两行的姓和名是重复的<br />语法：<br />create index indxfullname on addressbook(firstname,lastname)</p><p>5、系统自建的索引:在使用T_sql语句创建表的时候使用PRIMARY KEY或UNIQUE约束时，会在表上自动创建一个惟一索引<br />自动创建的索引是无法删除的<br />语法：<br />create table ABc<br />( empID int primary key,<br />&nbsp;&nbsp; firstname varchar(50)UNIQUE,<br />&nbsp;&nbsp; lastname&nbsp;&nbsp; varchar(50)UNIQUE,<br />)<br />这样的结果就出来了三个索引，但只有一个聚集索引（建表时primary Key表示建了聚集索引 ）</p><p><br />实验的流程：<br />1、先创建一个表，然后查看一下他的占用资源情况及select * from 表<br />&nbsp;&nbsp;&nbsp;&nbsp; 看一下排序<br />2、然后创建索引，在观看一下占用资源的情况，及排序情况，看看聚集与非聚集的排序是<br />　　否用变化<br />　答案是：聚集的有变化，非聚集的排序与未创建索引之前一样</p><p>聚集索引和非聚集索引的区别(sql server索引结构及其使用)<br />一、深入浅出理解索引结构</p><p>　　实际上，您可以把索引理解为一种特殊的目录。微软的SQL SERVER提供了两种索引：聚集索引（clustered index，也称聚类索引、簇集索引）和非聚集索引（nonclustered index，也称非聚类索引、非簇集索引）。下面，我们举例来说明一下聚集索引和非聚集索引的区别：<br />　　其实，我们的汉语字典的正文本身就是一个聚集索引。比如，我们要查&ldquo;安&rdquo;字，就会很自然地翻开字典的前几页，因为&ldquo;安&rdquo;的拼音是&ldquo;an&rdquo;，而按照拼音排序汉字的字典是以英文字母&ldquo;a&rdquo;开头并以&ldquo;z&rdquo;结尾的，那么&ldquo;安&rdquo;字就自然地排在字典的前部。如果您翻完了所有以&ldquo;a&rdquo;开头的部分仍然找不到这个字，那么就说明您的字典中没有这个字；同样的，如果查&ldquo;张&rdquo;字，那您也会将您的字典翻到最后部分，因为&ldquo;张&rdquo;的拼音是&ldquo;zhang&rdquo;。也就是说，字典的正文部分本身就是一个目录，您不需要再去查其他目录来找到您需要找的内容。我们把这种正文内容本身就是一种按照一定规则排列的目录称为&ldquo;聚集索引&rdquo;。<br />　　如果您认识某个字，您可以快速地从自动中查到这个字。但您也可能会遇到您不认识的字，不知道它的发音，这时候，您就不能按照刚才的方法找到您要查的字，而需要去根据&ldquo;偏旁部首&rdquo;查到您要找的字，然后根据这个字后的页码直接翻到某页来找到您要找的字。但您结合&ldquo;部首目录&rdquo;和&ldquo;检字表&rdquo;而查到的字的排序并不是真正的正文的排序方法，比如您查&ldquo;张&rdquo;字，我们可以看到在查部首之后的检字表中&ldquo;张&rdquo;的页码是672页，检字表中&ldquo;张&rdquo;的上面是&ldquo;驰&rdquo;字，但页码却是63页，&ldquo;张&rdquo;的下面是&ldquo;弩&rdquo;字，页面是390页。很显然，这些字并不是真正的分别位于&ldquo;张&rdquo;字的上下方，现在您看到的连续的&ldquo;驰、张、弩&rdquo;三字实际上就是他们在非聚集索引中的排序，是字典正文中的字在非聚集索引中的映射。我们可以通过这种方式来找到您所需要的字，但它需要两个过程，先找到目录中的结果，然后再翻到您所需要的页码。我们把这种目录纯粹是目录，正文纯粹是正文的排序方式称为&ldquo;非聚集索引&rdquo;。<br />　　通过以上例子，我们可以理解到什么是&ldquo;聚集索引&rdquo;和&ldquo;非聚集索引&rdquo;。进一步引申一下，我们可以很容易的理解：每个表只能有一个聚集索引，因为目录只能按照一种方法进行排序。</p><p>二、何时使用聚集索引或非聚集索引</p><p>下面的表总结了何时使用聚集索引或非聚集索引（很重要）：</p><p>动作描述 使用聚集索引 使用非聚集索引 <br />列经常被分组排序 应 应 <br />返回某范围内的数据 应 不应 <br />一个或极少不同值 不应 不应 <br />小数目的不同值 应 不应 <br />大数目的不同值 不应 应 <br />频繁更新的列 不应 应 <br />外键列 应 应 <br />主键列 应 应 <br />频繁修改索引列 不应 应</p><p>　　事实上，我们可以通过前面聚集索引和非聚集索引的定义的例子来理解上表。如：返回某范围内的数据一项。比如您的某个表有一个时间列，恰好您把聚合索引建立在了该列，这时您查询2004年1月1日至2004年10月1日之间的全部数据时，这个速度就将是很快的，因为您的这本字典正文是按日期进行排序的，聚类索引只需要找到要检索的所有数据中的开头和结尾数据即可；而不像非聚集索引，必须先查到目录中查到每一项数据对应的页码，然后再根据页码查到具体内容。</p><p>三、结合实际，谈索引使用的误区</p><p>　　理论的目的是应用。虽然我们刚才列出了何时应使用聚集索引或非聚集索引，但在实践中以上规则却很容易被忽视或不能根据实际情况进行综合分析。下面我们将根据在实践中遇到的实际问题来谈一下索引使用的误区，以便于大家掌握索引建立的方法。</p><p>1、主键就是聚集索引<br />　　这种想法笔者认为是极端错误的，是对聚集索引的一种浪费。虽然SQL SERVER默认是在主键上建立聚集索引的。<br />　　通常，我们会在每个表中都建立一个ID列，以区分每条数据，并且这个ID列是自动增大的，步长一般为1。我们的这个办公自动化的实例中的列Gid就是如此。此时，如果我们将这个列设为主键，SQL SERVER会将此列默认为聚集索引。这样做有好处，就是可以让您的数据在数据库中按照ID进行物理排序，但笔者认为这样做意义不大。<br />　　显而易见，聚集索引的优势是很明显的，而每个表中只能有一个聚集索引的规则，这使得聚集索引变得更加珍贵。<br />　　从我们前面谈到的聚集索引的定义我们可以看出，使用聚集索引的最大好处就是能够根据查询要求，迅速缩小查询范围，避免全表扫描。在实际应用中，因为ID号是自动生成的，我们并不知道每条记录的ID号，所以我们很难在实践中用ID号来进行查询。这就使让ID号这个主键作为聚集索引成为一种资源浪费。其次，让每个ID号都不同的字段作为聚集索引也不符合&ldquo;大数目的不同值情况下不应建立聚合索引&rdquo;规则；当然，这种情况只是针对用户经常修改记录内容，特别是索引项的时候会负作用，但对于查询速度并没有影响。<br />　　在办公自动化系统中，无论是系统首页显示的需要用户签收的文件、会议还是用户进行文件查询等任何情况下进行数据查询都离不开字段的是&ldquo;日期&rdquo;还有用户本身的&ldquo;用户名&rdquo;。<br />　　通常，办公自动化的首页会显示每个用户尚未签收的文件或会议。虽然我们的where语句可以仅仅限制当前用户尚未签收的情况，但如果您的系统已建立了很长时间，并且数据量很大，那么，每次每个用户打开首页的时候都进行一次全表扫描，这样做意义是不大的，绝大多数的用户1个月前的文件都已经浏览过了，这样做只能徒增数据库的开销而已。事实上，我们完全可以让用户打开系统首页时，数据库仅仅查询这个用户近3个月来未阅览的文件，通过&ldquo;日期&rdquo;这个字段来限制表扫描，提高查询速度。如果您的办公自动化系统已经建立的2年，那么您的首页显示速度理论上将是原来速度8倍，甚至更快。<br />　　在这里之所以提到&ldquo;理论上&rdquo;三字，是因为如果您的聚集索引还是盲目地建在ID这个主键上时，您的查询速度是没有这么高的，即使您在&ldquo;日期&rdquo;这个字段上建立的索引（非聚合索引）。下面我们就来看一下在1000万条数据量的情况下各种查询的速度表现（3个月内的数据为25万条）：</p><p>（1）仅在主键上建立聚集索引，并且不划分时间段：</p><p>Select gid,fariqi,neibuyonghu,title from tgongwen<br />用时：128470毫秒（即：128秒）</p><p>（2）在主键上建立聚集索引，在fariq上建立非聚集索引：</p><p>select gid,fariqi,neibuyonghu,title from Tgongwen&nbsp; where fariqi&gt; dateadd(day,-90,getdate())<br />用时：53763毫秒（54秒）</p><p>（3）将聚合索引建立在日期列（fariqi）上：</p><p>select gid,fariqi,neibuyonghu,title from Tgongwen&nbsp; where fariqi&gt; dateadd(day,-90,getdate())<br />用时：2423毫秒（2秒）</p><p>　　虽然每条语句提取出来的都是25万条数据，各种情况的差异却是巨大的，特别是将聚集索引建立在日期列时的差异。事实上，如果您的数据库真的有1000万容量的话，把主键建立在ID列上，就像以上的第1、2种情况，在网页上的表现就是超时，根本就无法显示。这也是我摒弃ID列作为聚集索引的一个最重要的因素。得出以上速度的方法是：在各个select语句前加：</p><p>declare @d datetime&nbsp; set @d=getdate()<br />并在select语句后加：</p><p>select [语句执行花费时间(毫秒)]=datediff(ms,@d,getdate())<br />2、只要建立索引就能显著提高查询速度<br />　　事实上，我们可以发现上面的例子中，第2、3条语句完全相同，且建立索引的字段也相同；不同的仅是前者在fariqi字段上建立的是非聚合索引，后者在此字段上建立的是聚合索引，但查询速度却有着天壤之别。所以，并非是在任何字段上简单地建立索引就能提高查询速度。<br />　　从建表的语句中，我们可以看到这个有着1000万数据的表中fariqi字段有5003个不同记录。在此字段上建立聚合索引是再合适不过了。在现实中，我们每天都会发几个文件，这几个文件的发文日期就相同，这完全符合建立聚集索引要求的：&ldquo;既不能绝大多数都相同，又不能只有极少数相同&rdquo;的规则。由此看来，我们建立&ldquo;适当&rdquo;的聚合索引对于我们提高查询速度是非常重要的。</p><p>3、把所有需要提高查询速度的字段都加进聚集索引，以提高查询速度<br />　　上面已经谈到：在进行数据查询时都离不开字段的是&ldquo;日期&rdquo;还有用户本身的&ldquo;用户名&rdquo;。既然这两个字段都是如此的重要，我们可以把他们合并起来，建立一个复合索引（compound index）。<br />　　很多人认为只要把任何字段加进聚集索引，就能提高查询速度，也有人感到迷惑：如果把复合的聚集索引字段分开查询，那么查询速度会减慢吗？带着这个问题，我们来看一下以下的查询速度（结果集都是25万条数据）：（日期列fariqi首先排在复合聚集索引的起始列，用户名neibuyonghu排在后列）：</p><p>（1）select gid,fariqi,neibuyonghu,title from Tgongwen where fariqi&gt;''2004-5-5''<br />查询速度：2513毫秒</p><p>（2）select gid,fariqi,neibuyonghu,title from Tgongwen&nbsp;&nbsp; 　　　　　　　　　　　　where fariqi&gt;''2004-5-5'' and neibuyonghu=''办公室''<br />查询速度：2516毫秒</p><p>（3）select gid,fariqi,neibuyonghu,title from Tgongwen where neibuyonghu=''办公室''<br />查询速度：60280毫秒</p><p>　　从以上试验中，我们可以看到如果仅用聚集索引的起始列作为查询条件和同时用到复合聚集索引的全部列的查询速度是几乎一样的，甚至比用上全部的复合索引列还要略快（在查询结果集数目一样的情况下）；而如果仅用复合聚集索引的非起始列作为查询条件的话，这个索引是不起任何作用的。当然，语句1、2的查询速度一样是因为查询的条目数一样，如果复合索引的所有列都用上，而且查询结果少的话，这样就会形成&ldquo;索引覆盖&rdquo;，因而性能可以达到最优。同时，请记住：无论您是否经常使用聚合索引的其他列，但其前导列一定要是使用最频繁的列。</p><p>四、其他书上没有的索引使用经验总结</p><p>1、用聚合索引比用不是聚合索引的主键速度快<br />　　下面是实例语句：（都是提取25万条数据）</p><p>select gid,fariqi,neibuyonghu,reader,title from Tgongwen where fariqi=''2004-9-16''<br />使用时间：3326毫秒</p><p>select gid,fariqi,neibuyonghu,reader,title from Tgongwen where gid&lt;=250000<br />使用时间：4470毫秒</p><p>这里，用聚合索引比用不是聚合索引的主键速度快了近1/4。</p><p>2、用聚合索引比用一般的主键作order by时速度快，特别是在小数据量情况下</p><p>select gid,fariqi,neibuyonghu,reader,title from Tgongwen order by fariqi<br />用时：12936</p><p>select gid,fariqi,neibuyonghu,reader,title from Tgongwen order by gid<br />用时：18843</p><p>　　这里，用聚合索引比用一般的主键作order by时，速度快了3/10。事实上，如果数据量很小的话，用聚集索引作为排序列要比使用非聚集索引速度快得明显的多；而数据量如果很大的话，如10万以上，则二者的速度差别不明显。</p><p>3、使用聚合索引内的时间段，搜索时间会按数据占整个数据表的百分比成比例减少，而无论聚合索引使用了多少个：</p><p>select gid,fariqi,neibuyonghu,reader,title from Tgongwen where fariqi&gt;''2004-1-1''<br />用时：6343毫秒（提取100万条）</p><p>select gid,fariqi,neibuyonghu,reader,title from Tgongwen where fariqi&gt;''2004-6-6''<br />用时：3170毫秒（提取50万条）</p><p>select gid,fariqi,neibuyonghu,reader,title from Tgongwen where fariqi=''2004-9-16''<br />用时：3326毫秒（和上句的结果一模一样。如果采集的数量一样，那么用大于号和等于号是一样的）</p><p>select gid,fariqi,neibuyonghu,reader,title from Tgongwen where fariqi&gt;''2004-1-1'' and fariqi&lt;''2004-6-6''<br />用时：3280毫秒</p><p>4、日期列不会因为有分秒的输入而减慢查询速度<br />　　下面的例子中，共有100万条数据，2004年1月1日以后的数据有50万条，但只有两个不同的日期，日期精确到日；之前有数据50万条，有5000个不同的日期，日期精确到秒。</p><p>select gid,fariqi,neibuyonghu,reader,title from Tgongwen&nbsp;&nbsp;&nbsp; where fariqi&gt;''2004-1-1'' order by fariqi<br />用时：6390毫秒</p><p>select gid,fariqi,neibuyonghu,reader,title from Tgongwen&nbsp;&nbsp;&nbsp; where fariqi&lt;''2004-1-1'' order by fariqi<br />用时：6453毫秒</p><p>五、其他注意事项</p><p>　　&ldquo;水可载舟，亦可覆舟&rdquo;，索引也一样。索引有助于提高检索性能，但过多或不当的索引也会导致系统低效。因为用户在表中每加进一个索引，数据库就要做更多的工作。过多的索引甚至会导致索引碎片。<br />　　所以说，我们要建立一个&ldquo;适当&rdquo;的索引体系，特别是对聚合索引的创建，更应精益求精，以使您的数据库能得到高性能的发挥。<br />　　当然，在实践中，作为一个尽职的数据库管理员，您还要多测试一些方案，找出哪种方案效率最高、最为有效。<br />&nbsp;</p>]]></description><category>转载专区</category><comments>http:///www.xiongmaotou.com/post/153.html#comment</comments><wfw:comment>http:///www.xiongmaotou.com/</wfw:comment><wfw:commentRss>http:///www.xiongmaotou.com/feed.asp?cmt=153</wfw:commentRss><trackback:ping>http:///www.xiongmaotou.com/cmd.asp?act=tb&amp;id=153&amp;key=0439b5ca</trackback:ping></item><item><title>网站优化设置关键词和标题描述的技巧</title><author>admin@xiongmaotou.com (熊猫头)</author><link>http:///www.xiongmaotou.com/post/144.html</link><pubDate>Tue, 03 May 2011 19:20:45 +0800</pubDate><guid>http:///www.xiongmaotou.com/post/144.html</guid><description><![CDATA[<p>做网站SEO的朋友们可能都想知道，搜索引擎一般允许的title标题字数是多少？允许的description描述字数又是多少？</p><p>　　用百度和Google搜索经常会发现部分网站Title和与此网站搜索相关的描述到一定字数它后面就会出现&ldquo;&hellip;&rdquo;的省略号（本人暂时将其称为标签关键词溢出），省略号后的内容基本对搜索引擎是无用的，那么到底网站各个页面的Title和description描述到底具体控制在多少个字符以内呢？百度和Google的字数要求是否是一致的呢？</p><p>　　下面我通过计算多个关键词靠前网站的Title和description描述（当然是标签关键词溢出的站）可以总结到以下：</p><p>　　百度Title应该控制在60个字符也就是30个文字以内，description标签描述应该控制在220个字符即110个文字以内。Google的Title字数应该控制在66个字符也就是33个文字以内，description标签描述应该控制在240个字符即120个文字以内。</p><p>　　从观察总结的情况来看，这2点百度和Google 还是有一定的区别的。</p><p>　　所以，我们的网站在写Title和description描述时关键词尽量靠前且控制在百度要求的范围内，而且主要每个页面的Title和description描述要与各个页面对应的信息一致。</p>]]></description><category>转载专区</category><comments>http:///www.xiongmaotou.com/post/144.html#comment</comments><wfw:comment>http:///www.xiongmaotou.com/</wfw:comment><wfw:commentRss>http:///www.xiongmaotou.com/feed.asp?cmt=144</wfw:commentRss><trackback:ping>http:///www.xiongmaotou.com/cmd.asp?act=tb&amp;id=144&amp;key=3d26d794</trackback:ping></item><item><title>2009中国行业电子商务网站百强名单</title><author>admin@xiongmaotou.com (熊猫头)</author><link>http:///www.xiongmaotou.com/post/125.html</link><pubDate>Sun, 20 Jun 2010 00:33:11 +0800</pubDate><guid>http:///www.xiongmaotou.com/post/125.html</guid><description><![CDATA[<p>2009中国行业电子商务网站百强名单。在第五届中小企业电子商务应用发展大会上，组委会公布了中国行业电子商务网站TOP100榜单，阿里巴巴、环球资源、敦煌网等网站均位列百强榜单。</p><p>以下为2009中国行业电子商务网站top100榜单完全名单：</p><p><strong>综合</strong></p><p>阿里巴巴 china.alibaba.com</p><p>环球资源 www.globalsources.com</p><p>中国制造网 www.made-in-china.com</p><p>环球市场 www.globalmarket.com</p><p>慧聪网 www.hc360.com</p><p>敦煌网 www.dhgate.com</p><p>香港贸发局 www.hktdc.com</p><p>文笔天天网 www.cn.ttnet.net</p><p>一达通商务网www.ydt35.com</p><p>金银岛 www.315.com.cn</p><p>贸易伙伴 www.tradevv.com</p><p>Exportpages www.exportpages.com</p><p>MFG www.mfg.cn</p><p>海商网 www.hisupplier.com</p><p>外贸英才网 www.tradehr.com</p><p><strong>机械行业</strong></p><p>中国设备网 www.cnsb.cn</p><p>机电在线 www.jdol.com.cn</p><p>国际铸业咨询网www.zz361.com</p><p>食品机械行业网www.spjxcn.com</p><p><strong>五金工具</strong></p><p>华人螺丝网 www.luosi.com</p><p>金蜘蛛紧固件网www.chinafastener.biz</p><p>全球五金网 www.wjw.cn</p><p>中国搜丝网 www.sosw.net</p><p>国际五金网 www.wjw.com</p><p><strong>农林畜牧</strong></p><p>金农网 www.jinnong.cn</p><p>中国蔬菜市场网www.china-vm.com</p><p>中华粮网 www.cngrain.com</p><p>中农网 www.ap88.com</p><p>中国园林网 www.yuanlin.com</p><p><strong>服装鞋帽</strong></p><p>中国服装网 www.efu.com.cn</p><p>中国品牌服装网www.china-ef.com</p><p>环球鞋网 www.shoes.net. cn</p><p>中国皮具网 www.piju.co m.cn</p><p>全球羊毛衫网www.wool3.com</p><p>中国服装人才网www.cfw.cn</p><p><strong>医疗医药</strong></p><p>中国药网 www.chinapharm.com.cn</p><p>海虹医药电子商务网www.emedchina.net</p><p>医药网 www.pharmnet.com.cn</p><p>医疗商务网 www.ylsw.net</p><p>环球医药信息网 www.qgyyzs.net</p><p>21保健品网 www.bjspw.com</p><p><strong>食品行业</strong></p><p>食品商务网 www.21food.cn</p><p>中国糖酒网 www.tangjiu.com</p><p>全球食品配料网 www.fi365.cn</p><p>食品伙伴网 www.foodmate.net</p><p>食品招商网 www.21food.com.cn</p><p><strong>冶金钢铁</strong></p><p>我的钢铁 www.mysteel.com</p><p>中国联合钢铁网 www.custeel.com</p><p>兰格钢铁网 www.lgmi.com</p><p>钢之家 www.steelhome.cn</p><p>中国铝业网 www.alu.cn</p><p>上海大宗钢铁电子交易中心www.ssec-steel.com</p><p>海鑫钢材信息网 www.hxsteel.cn</p><p><strong>电工电气</strong></p><p>空调制冷大市场 www.178b2b.com</p><p>中国开关网 www.chinaswitch.com</p><p><strong>电子行业</strong></p><p>IC交易网 www.ic.net.cn</p><p>维库电子市场网 www.dzsc.com</p><p>21IC中国电子网 www.21ic.com</p><p>华强电子网 www.hqew.com</p><p>ICBuy电子网 www.icbuy.com</p><p><strong>化工塑料</strong></p><p>中国化工网www.chinachemnet.com</p><p>卓创资讯 www.chem99.com</p><p>中塑在线 www.21cp.net</p><p>浙江塑料城网上交易市场www.ex-cp.com</p><p>隆众石化商务网 www.oilchem.net</p><p>全球塑胶网 www.51pla.com</p><p>中国塑料商业网 www.spcce.com</p><p><strong>包装印刷</strong></p><p>中国包装网 www.pack.net.cn</p><p>我要印 www.wyy.cn</p><p>纺织化纤中华纺织网www.texindex.com.cn</p><p><strong>汽摩行业</strong></p><p>盖世汽车网 www.gasgoo.com</p><p>中华汽配网 www.auto1688.com.cn</p><p>中国电动车网www.ddc.net.cn</p><p><strong>文化收藏</strong></p><p>中华收藏网www.sc001.com.cn</p><p>雅昌艺术网www.artron.net</p><p>安防行业 中国安防产品网www.secu.com.cn</p><p><strong>建筑材料</strong></p><p>中国建材第一网www.jc001.cn</p><p>中国水泥网 www.ccement.com</p><p>中国建材网 www.bmlink.com</p><p>中国玻璃网 www.glass.com.cn</p><p>建材网 www.jiancai.com</p><p>中国卫浴网 www.wyw.cn</p><p><strong>工控自动化</strong></p><p>中国工控网 www.gongkong.com</p><p>中国自动化网www.ca800.com</p><p><strong>仪器仪表</strong></p><p>仪器信息网 www.instrument.com.cn</p><p>易展仪表展览网www.18show.cn</p><p>中国化工仪器网www.chem17.net</p>]]></description><category>转载专区</category><comments>http:///www.xiongmaotou.com/post/125.html#comment</comments><wfw:comment>http:///www.xiongmaotou.com/</wfw:comment><wfw:commentRss>http:///www.xiongmaotou.com/feed.asp?cmt=125</wfw:commentRss><trackback:ping>http:///www.xiongmaotou.com/cmd.asp?act=tb&amp;id=125&amp;key=0f05e67c</trackback:ping></item><item><title>SQL语句优化要避免的一些问题</title><author>admin@xiongmaotou.com (熊猫头)</author><link>http:///www.xiongmaotou.com/post/116.html</link><pubDate>Tue, 11 May 2010 00:45:36 +0800</pubDate><guid>http:///www.xiongmaotou.com/post/116.html</guid><description><![CDATA[<p>具体要注意的： <br />1.应尽量避免在 where 子句中对字段进行 null 值判断，否则将导致引擎放弃使用索引而进行全表扫描，如： <br />select id from t where num is null <br />可以在num上设置默认值0，确保表中num列没有null值，然后这样查询： <br />select id from t where num=0 <br />2.应尽量避免在 where 子句中使用!=或&lt;&gt;操作符，否则将引擎放弃使用索引而进行全表扫描。优化器将无法通过索引来确定将要命中的行数,因此需要搜索该表的所有行。 <br />3.应尽量避免在 where 子句中使用 or 来连接条件，否则将导致引擎放弃使用索引而进行全表扫描，如： <br />select id from t where num=10 or num=20 <br />可以这样查询： <br />select id from t where num=10 <br />union all <br />select id from t where num=20 <br />4.in 和 not in 也要慎用，因为IN会使系统无法使用索引,而只能直接搜索表中的数据。如： <br />select id from t where num in(1,2,3) <br />对于连续的数值，能用 between 就不要用 in 了： <br />select id from t where num between 1 and 3 <br />5.尽量避免在索引过的字符数据中，使用非打头字母搜索。这也使得引擎无法利用索引。 <br />见如下例子： <br />SELECT * FROM T1 WHERE NAME LIKE &lsquo;%L%&rsquo; <br />SELECT * FROM T1 WHERE SUBSTING(NAME,2,1)=&rsquo;L&rsquo; <br />SELECT * FROM T1 WHERE NAME LIKE &lsquo;L%&rsquo; <br />即使NAME字段建有索引，前两个查询依然无法利用索引完成加快操作，引擎不得不对全表所有数据逐条操作来完成任务。而第三个查询能够使用索引来加快操作。 <br />6.必要时强制查询优化器使用某个索引，如在 where 子句中使用参数，也会导致全表扫描。因为SQL只有在运行时才会解析局部变量，但优化程序不能将访问计划的选择推迟到运行时；它必须在编译时进行选择。然而，如果在编译时建立访问计划，变量的值还是未知的，因而无法作为索引选择的输入项。如下面语句将进行全表扫描： <br />select id from t where <a href="mailto:num=@num">num=@num</a> <br />可以改为强制查询使用索引： <br />select id from t with(index(索引名)) where <a href="mailto:num=@num">num=@num</a> <br />7.应尽量避免在 where 子句中对字段进行表达式操作，这将导致引擎放弃使用索引而进行全表扫描。如： <br />SELECT * FROM T1 WHERE F1/2=100 <br />应改为: <br />SELECT * FROM T1 WHERE F1=100*2 <br />SELECT * FROM RECORD WHERE SUBSTRING(CARD_NO,1,4)=&rsquo;5378&rsquo; <br />应改为: <br />SELECT * FROM RECORD WHERE CARD_NO LIKE &lsquo;5378%&rsquo; <br />SELECT member_number, first_name, last_name FROM members <br />WHERE DATEDIFF(yy,datofbirth,GETDATE()) &gt; 21 <br />应改为: <br />SELECT member_number, first_name, last_name FROM members <br />WHERE dateofbirth &lt; DATEADD(yy,-21,GETDATE()) <br />即：任何对列的操作都将导致表扫描，它包括数据库函数、计算表达式等等，查询时要尽可能将操作移至等号右边。 <br />8.应尽量避免在where子句中对字段进行函数操作，这将导致引擎放弃使用索引而进行全表扫描。如： <br />select id from t where substring(name,1,3)='abc'--name以abc开头的id <br />select id from t where datediff(day,createdate,'2005-11-30')=0--&lsquo;2005-11-30&rsquo;生成的id <br />应改为: <br />select id from t where name like 'abc%' <br />select id from t where createdate&gt;='2005-11-30' and createdate&lt;'2005-12-1' <br />9.不要在 where 子句中的&ldquo;=&rdquo;左边进行函数、算术运算或其他表达式运算，否则系统将可能无法正确使用索引。 <br />10.在使用索引字段作为条件时，如果该索引是复合索引，那么必须使用到该索引中的第一个字段作为条件时才能保证系统使用该索引，否则该索引将不会被使用，并且应尽可能的让字段顺序与索引顺序相一致。 <br />11.很多时候用 exists是一个好的选择： <br />select num from a where num in(select num from b) <br />用下面的语句替换： <br />select num from a where exists(select 1 from b where num=a.num) <br />SELECT SUM(T1.C1)FROM T1 WHERE( <br />(SELECT COUNT(*)FROM T2 WHERE T2.C2=T1.C2&gt;0) <br />SELECT SUM(T1.C1) FROM T1WHERE EXISTS( <br />SELECT * FROM T2 WHERE T2.C2=T1.C2) <br />两者产生相同的结果，但是后者的效率显然要高于前者。因为后者不会产生大量锁定的表扫描或是索引扫描。 <br />如果你想校验表里是否存在某条纪录，不要用count(*)那样效率很低，而且浪费服务器资源。可以用EXISTS代替。如： <br />IF (SELECT COUNT(*) FROM table_name WHERE column_name = 'xxx') <br />可以写成： <br />IF EXISTS (SELECT * FROM table_name WHERE column_name = 'xxx') <br />经常需要写一个T_SQL语句比较一个父结果集和子结果集，从而找到是否存在在父结果集中有而在子结果集中没有的记录，如： <br />SELECT a.hdr_key FROM hdr_tbl a---- tbl a 表示tbl用别名a代替 <br />WHERE NOT EXISTS (SELECT * FROM dtl_tbl b WHERE a.hdr_key = b.hdr_key) <br />SELECT a.hdr_key FROM hdr_tbl a <br />LEFT JOIN dtl_tbl b ON a.hdr_key = b.hdr_key WHERE b.hdr_key IS NULL <br />SELECT hdr_key FROM hdr_tbl <br />WHERE hdr_key NOT IN (SELECT hdr_key FROM dtl_tbl) <br />三种写法都可以得到同样正确的结果，但是效率依次降低。 <br />12.尽量使用表变量来代替临时表。如果表变量包含大量数据，请注意索引非常有限（只有主键索引）。 <br />13.避免频繁创建和删除临时表，以减少系统表资源的消耗。 <br />14.临时表并不是不可使用，适当地使用它们可以使某些例程更有效，例如，当需要重复引用大型表或常用表中的某个数据集时。但是，对于一次性事件，最好使用导出表。 <br />15.在新建临时表时，如果一次性插入数据量很大，那么可以使用 select into 代替 create table，避免造成大量 log ，以提高速度；如果数据量不大，为了缓和系统表的资源，应先create table，然后insert。 <br />16.如果使用到了临时表，在存储过程的最后务必将所有的临时表显式删除，先 truncate table ，然后 drop table ，这样可以避免系统表的较长时间锁定。 <br />17.在所有的存储过程和触发器的开始处设置 SET NOCOUNT ON ，在结束时设置 SET NOCOUNT OFF 。无需在执行存储过程和触发器的每个语句后向客户端发送 DONE_IN_PROC 消息。 <br />18.尽量避免大事务操作，提高系统并发能力。 <br />19.尽量避免向客户端返回大数据量，若数据量过大，应该考虑相应需求是否合理。 <br />20. 避免使用不兼容的数据类型。例如float和int、char和varchar、binary和varbinary是不兼容的。数据类型的不兼容可能使优化器无法执行一些本来可以进行的优化操作。例如: <br />SELECT name FROM employee WHERE salary &gt; 60000 <br />在这条语句中,如salary字段是money型的,则优化器很难对其进行优化,因为60000是个整型数。我们应当在编程时将整型转化成为钱币型,而不要等到运行时转化。 <br />21.充分利用连接条件，在某种情况下，两个表之间可能不只一个的连接条件，这时在 WHERE 子句中将连接条件完整的写上，有可能大大提高查询速度。 <br />例： <br />SELECT SUM(A.AMOUNT) FROM ACCOUNT A,CARD B WHERE A.CARD_NO = B.CARD_NO <br />SELECT SUM(A.AMOUNT) FROM ACCOUNT A,CARD B WHERE A.CARD_NO = B.CARD_NO AND A.ACCOUNT_NO=B.ACCOUNT_NO <br />第二句将比第一句执行快得多。 <br />22、使用视图加速查询 <br />把表的一个子集进行排序并创建视图，有时能加速查询。它有助于避免多重排序 操作，而且在其他方面还能简化优化器的工作。例如： <br />SELECT cust.name，rcvbles.balance，&hellip;&hellip;other columns <br />FROM cust，rcvbles <br />WHERE cust.customer_id = rcvlbes.customer_id <br />AND rcvblls.balance&gt;0 <br />AND cust.postcode&gt;&ldquo;98000&rdquo; <br />ORDER BY cust.name <br />如果这个查询要被执行多次而不止一次，可以把所有未付款的客户找出来放在一个视图中，并按客户的名字进行排序： <br />CREATE VIEW DBO.V_CUST_RCVLBES <br />AS <br />SELECT cust.name，rcvbles.balance，&hellip;&hellip;other columns <br />FROM cust，rcvbles <br />WHERE cust.customer_id = rcvlbes.customer_id <br />AND rcvblls.balance&gt;0 <br />ORDER BY cust.name <br />然后以下面的方式在视图中查询： <br />SELECT ＊ FROM V_CUST_RCVLBES <br />WHERE postcode&gt;&ldquo;98000&rdquo; <br />视图中的行要比主表中的行少，而且物理顺序就是所要求的顺序，减少了磁盘I/O，所以查询工作量可以得到大幅减少。 <br />23、能用DISTINCT的就不用GROUP BY <br />SELECT OrderID FROM Details WHERE UnitPrice &gt; 10 GROUP BY OrderID <br />可改为： <br />SELECT DISTINCT OrderID FROM Details WHERE UnitPrice &gt; 10 <br />24.能用UNION ALL就不要用UNION <br />UNION ALL不执行SELECT DISTINCT函数，这样就会减少很多不必要的资源 <br />35.尽量不要用SELECT INTO语句。 <br />SELECT INOT 语句会导致表锁定，阻止其他用户访问该表。 <br />上面我们提到的是一些基本的提高查询速度的注意事项,但是在更多的情况下,往往需要反复试验比较不同的语句以得到最佳方案。最好的方法当然是测试，看实现相同功能的SQL语句哪个执行时间最少，但是数据库中如果数据量很少，是比较不出来的，这时可以用查看执行计划，即：把实现相同功能的多条SQL语句考到查询分析器，按CTRL+L看查所利用的索引，表扫描次数（这两个对性能影响最大），总体上看询成本百分比即可。</p><p>今天在itput上看了一篇文章，是讨论一个语句的优化： <br />一，发现问题 优化的语句： <br />请问以下语句如何优化: <br />CREATE TABLE aa_001 <br />( ip VARCHAR2(28), <br />name VARCHAR2(10), <br />password VARCHAR2(30) ) <br />select * from aa_001 where ip in (1,2,3) order by name desc; <br />--目前表中记录有一千多万条左右，而且in中的值个数是不确定的。 <br />以上就是优化的需要优化的语句和情况。 <br />不少人在后面跟帖：有的说没办法优化，有的说将ＩＮ该为ＥＸＩＳＴＳ，有的说在ip上建立索引复合索引（ip，name)等等。 <br />二，提出问题 那这样的情况，能优化吗，如何优化？今天就来讨论这个问题。 <br />三，分析问题 1，数据量1千万多条。 <br />2，in中的值个数是不确定 <br />3.1 分析数据分布 这里作者没有提到ip列的数据的分布情况，目前ip列的数据分布可能有以下几种： <br />1，ip列（数据唯一，或者数据重复的概率很小） <br />2，ip列 (数据不均匀，可能有些数据重复多，有些重复少） <br />3，ip列 （数据分布比较均匀，数据大量重复，主要就是一些同样的数据（可能只有上万级别不同的ip数据等) <br />解决问题： <br />1，对于第一种数据分布情况，只要在ip列建立一个索引即可。这时不管表有多少行， in个数是不确定的情况下，都很快。 <br />2，对应第二中数据分布情况，在ip列建立索引，效果不好。因为数据分布不均匀，可能有些快，有些慢 <br />3，对应第三种数据分布情况，在ip列建立索引，速度肯定慢。 <br />注意：这里的 order by name desc 是在取出数据后再排序的。而不是取数据前排序 <br />对于2，3两个情况，因为都是可能需要取出大量的数据，优化器就采用表扫描(table scan)，而不是索引查找(index seek) ,速度很慢，因为这时表扫描效率要优于索引查找，特别是高并发情况下，效率很低。 <br />那对应2，3中情况，如何处理。是将in改成exists。其实在sql server 2005和oracle里的优化器在in后面数据少时，效率是一样的。这时采用一般的索引效率很低。这时如果在ip列上建立聚集索引，效率会比较高。我们在SQL server 2005中做个测试。 <br />表：[dbo].[[zping.com]]]中有约200万条数据。包含列Userid, id, Ruleid等列。按照上面的情况查询一下类似语句： <br />select * from [dbo].[[zping.com]]] where <br />userid in ('402881410ca47925010cb329c7670ffb','402881ba0d5dc94e010d5dced05a0008' <br />,'4028814111a735e90111a77fa8e30384') order by Ruleid desc <br />我们先看userid的数据分布情况，执行下面语句： <br />select userid,count(*) from [dbo].[[zping.com]]] group by userid order by 2 <br />这时我们看看数据分布：总共有379条数据，数据两从1到15万都有，数据分布倾斜严重。下图是其中一部分。</p><p>这时如果在ip上建立非聚集索引，效率很低，而且就是强行索引扫描，效率也很低，会发现IO次数比表扫描还高。这时只能在ip上建立聚集索引。这时看看结果。 <br />这时发现，搜索采用了（clustered index seek）聚集搜索扫描。 <br />在看看查询返回的结果： <br />(156603 行受影响) <br />表 '[zping.com]'。扫描计数 8，逻辑读取 5877 次，物理读取 0 次，预读 0 次，lob 逻辑读取 0 次，lob 物理读取 0 次，lob 预读 0 次。 <br />表 'Worktable'。扫描计数 0，逻辑读取 0 次，物理读取 0 次，预读 0 次，lob 逻辑读取 0 次，lob 物理读取 0 次，lob 预读 0 次。 <br />返回15万行，才不到6千次IO。效率较高，因为这15万行要排序，查询成本里排序占了51%。当然可以建立（userid，Ruleid）复合聚集索引，提高性能，但这样做DML维护成本较高。建议不采用。 <br />从上面的测试例子可以看出， 优化的解决办法： <br />数据分布为1：建立ip索引即可 <br />数据分布为2，3：在ip列建立聚集索引。</p>]]></description><category>转载专区</category><comments>http:///www.xiongmaotou.com/post/116.html#comment</comments><wfw:comment>http:///www.xiongmaotou.com/</wfw:comment><wfw:commentRss>http:///www.xiongmaotou.com/feed.asp?cmt=116</wfw:commentRss><trackback:ping>http:///www.xiongmaotou.com/cmd.asp?act=tb&amp;id=116&amp;key=475dd4d5</trackback:ping></item><item><title>ASP链接数据库保障安全的18条规则</title><author>admin@xiongmaotou.com (熊猫头)</author><link>http:///www.xiongmaotou.com/post/114.html</link><pubDate>Sun, 09 May 2010 14:57:39 +0800</pubDate><guid>http:///www.xiongmaotou.com/post/114.html</guid><description><![CDATA[<p>1.首先，我们需要过滤所有客户端提交的内容,其中包括?id=N一类,另外还有提交的html代码中的操作数据库的select及asp文件操作语法,大家可以把提交的字符转义,然后再存入数据库。</p><p>2.然后需要对访问Access数据库的页面进行授权,针对显示数据页面只能使用select语句,过滤其他的update,asp文件则分为许可访问数据库页面和限制访问页。</p><p>3.修改数库据连接文件名conn.asp为类似123ljuvo345l3kj34534v.asp文件。</p><p>4.修改数据库名为类似q397d0394pjsdlkfgjwetoiu.asp文件。</p><p>5.给Access数据库加上连接密码(虽然可以破解,对付菜鸟,和防止上传文件无限制连接数据库)。</p><p>6.用Access软件对数据库进行编码加密。</p><p>7.用md5等加密算法加密用户密码,密码提示问题一类的字段。</p><p>8.限制搜索引擎对相关页面的搜索。</p><p>9.防止数据库被下载工具下载,如在数据库里加入等防止向客户端输出的语句。</p><p>10做好asp上传文件模板的安全管理,防止上传asp木马。</p><p>11.拒绝客户端访问数据库存连接文件,只准服务器asp文件访问。</p><p>12.限制同一客户端ip访问数据库次数。</p><p>13.如果有必要对存入数据库的内容进行加密,返回给客户端进行解密,就算数据库被下载了,也不可能轻易得到加密的原始内容。</p><p>14.对连接服务的头内容进行限制,如只许可IE访问。</p><p>15.防止通过文件查看方式,得到数据库信息,可用客户端输入密码,对密码和内容,用一定算法存入数据库,输出时,让客户端输入密码,对内容进行解密。</p><p>16.你可以把表名和字段名改为aslkejrwoieru,werkuwoeiruwe类似的字符。</p><p>17.防止在数据库里加入让改名为.asp的数据执行,可转义代码等让asp执行出错的内容。</p><p>18.最后需要注意的是，最好用odbc连接数据库,并要加上连接的密码<br />&nbsp;</p><p>注：本文发自云南电子商务研究站(<a href="http://www.xiongmaotou.com">http://www.xiongmaotou.com</a>),转载请附带本说明，谢谢</p>]]></description><category>转载专区</category><comments>http:///www.xiongmaotou.com/post/114.html#comment</comments><wfw:comment>http:///www.xiongmaotou.com/</wfw:comment><wfw:commentRss>http:///www.xiongmaotou.com/feed.asp?cmt=114</wfw:commentRss><trackback:ping>http:///www.xiongmaotou.com/cmd.asp?act=tb&amp;id=114&amp;key=c7cbb099</trackback:ping></item><item><title>网站建设常用到的一些小代码</title><author>admin@xiongmaotou.com (熊猫头)</author><link>http:///www.xiongmaotou.com/post/113.html</link><pubDate>Sun, 09 May 2010 14:31:30 +0800</pubDate><guid>http:///www.xiongmaotou.com/post/113.html</guid><description><![CDATA[<p>1. oncontextmenu=&quot;window.event.returnvalue=false&quot; 将彻底屏蔽鼠标右键<br />&lt;table border oncontextmenu=return(false)&gt;&lt;td&gt;no&lt;/table&gt; 可用于Table<br />2. &lt;body onselectstart=&quot;return false&quot;&gt; 取消选取、防止复制<br />3. onpaste=&quot;return false&quot; 不准粘贴<br />4. oncopy=&quot;return false;&quot; oncut=&quot;return false;&quot; 防止复制<br />5. &lt;link rel=&quot;Shortcut Icon&quot; href=&quot;favicon.ico&quot;&gt; IE地址栏前换成自己的图标<br />6. &lt;link rel=&quot;Bookmark&quot; href=&quot;favicon.ico&quot;&gt; 可以在收藏夹中显示出你的图标<br />7. &lt;input style=&quot;ime-mode:disabled&quot;&gt; 关闭输入法<br />8. 永远都会带着框架<br />&lt;script language=&quot;javascript&quot;&gt;&lt;!--<br />if (window == top)top.location.href = &quot;frames.htm&quot;; //frames.htm为框架网页<br />// --&gt;&lt;/script&gt; <br />9. 防止被人frame<br />&lt;SCRIPT LANGUAGE=javascript&gt;&lt;!-- <br />if (top.location != self.location)top.location=self.location;<br />// --&gt;&lt;/SCRIPT&gt; <br />10. &lt;noscript&gt;&lt;iframe src=*.html&gt;&lt;/iframe&gt;&lt;/noscript&gt; 网页将不能被另存为<br />11. &lt;input type=button value=查看网页源代码 <br />onclick=&quot;window.location = 'view-source:'+ 'http://www.csdn.net/';&quot;&gt; <br />12. 怎样通过asp的手段来检查来访者是否用了代理<br />&lt;% if Request.ServerVariables(&quot;HTTP_X_FORWARDED_FOR&quot;)&lt;&gt;&quot;&quot; then<br />response.write &quot;&lt;font color=#FF0000&gt;您通过了代理服务器，&quot;&amp; _<br />&quot;真实的IP为&quot;&amp;Request.ServerVariables(&quot;HTTP_X_FORWARDED_FOR&quot;)<br />end if<br />%&gt; <br />13. 取得控件的绝对位置<br />//javascript<br />&lt;script language=&quot;javascript&quot;&gt; function getIE(e){<br />var t=e.offsetTop;<br />var l=e.offsetLeft;<br />while(e=e.offsetParent){<br />t+=e.offsetTop;<br />l+=e.offsetLeft;<br />} alert(&quot;top=&quot;+t+&quot;\nleft=&quot;+l);<br />} &lt;/script&gt; <br />//VBScript<br />&lt;script language=&quot;VBScript&quot;&gt;&lt;!--<br />function getIE()<br />dim t,l,a,b<br />set a=document.all.img1<br />t=document.all.img1.offsetTop<br />l=document.all.img1.offsetLeft<br />while a.tagName&lt;&gt;&quot;BODY&quot;<br />set a = a.offsetParent<br />t=t+a.offsetTop<br />l=l+a.offsetLeft<br />wend<br />msgbox &quot;top=&quot;&amp;t&amp;chr(13)&amp;&quot;left=&quot;&amp;l,64,&quot;得到控件的位置&quot;<br />end function<br />--&gt;&lt;/script&gt; <br />14. 光标是停在文本框文字的最后<br />&lt;script language=&quot;javascript&quot;&gt; function cc()<br />{ var e = event.srcElement;<br />var r =e.createTextRange();<br />r.moveStart('character',e.value.length);<br />r.collapse(true);<br />r.select();<br />} &lt;/script&gt; &lt;input type=text name=text1 value=&quot;123&quot; onfocus=&quot;cc()&quot;&gt; <br />15. 判断上一页的来源<br />asp:<br />request.servervariables(&quot;HTTP_REFERER&quot;)<br />javascript:<br />document.referrer<br />16. 最小化、最大化、关闭窗口<br />&lt;object id=hh1 classid=&quot;clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11&quot;&gt; <br />&lt;param name=&quot;Command&quot; value=&quot;Minimize&quot;&gt;&lt;/object&gt; &lt;object id=hh2 classid=&quot;clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11&quot;&gt; <br />&lt;param name=&quot;Command&quot; value=&quot;Maximize&quot;&gt;&lt;/object&gt; &lt;OBJECT id=hh3 classid=&quot;clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11&quot;&gt; &lt;PARAM NAME=&quot;Command&quot; value=&quot;Close&quot;&gt;&lt;/OBJECT&gt; <br />&lt;input type=button value=最小化 onclick=hh1.Click()&gt; &lt;input type=button value=最大化 onclick=hh2.Click()&gt; &lt;input type=button value=关闭 onclick=hh3.Click()&gt; 本例适用于IE<br />17. <br />&lt;%<br />'定义数据库连接的一些常量<br />Const adOpenForwardOnly = 0 '游标只向前浏览记录，不支持分页、Recordset、BookMark<br />Const adOpenKeyset = 1 '键集游标，其他用户对记录说做的修改将反映到记录集中，但其他用户增加或删除记录不会反映到记录集中。支持分页、Recordset、BookMark<br />Const adOpenDynamic = 2 '动态游标功能最强，但耗资源也最多。用户对记录说做的修改，增加或删除记录都将反映到记录集中。支持全功能浏览(ACCESS不支持)。<br />Const adOpenStatic = 3 '静态游标，只是数据的一个快照，用户对记录说做的修改，增加或删除记录都不会反映到记录集中。支持向前或向后移动<br />Const adLockReadOnly = 1 '锁定类型，默认的，只读，不能作任何修改<br />Const adLockPessimistic = 2 '当编辑时立即锁定记录，最安全的方式<br />Const adLockOptimistic = 3 '只有在调用Update方法时才锁定记录集，而在此前的其他操作仍可对当前记录进行更改、插入和删除等<br />Const adLockBatchOptimistic = 4 '当编辑时记录不会被锁定，而更改、插入和删除是在批处理方式下完成的<br />Const adCmdText = &amp;H0001<br />Const adCmdTable = &amp;H0002<br />%&gt; <br />18. 网页不会被缓存<br />HTM网页<br />&lt;META HTTP-EQUIV=&quot;pragma&quot; CONTENT=&quot;no-cache&quot;&gt; &lt;META HTTP-EQUIV=&quot;Cache-Control&quot; CONTENT=&quot;no-cache, must-revalidate&quot;&gt; &lt;META HTTP-EQUIV=&quot;expires&quot; CONTENT=&quot;Wed, 26 Feb 1997 08:21:57 GMT&quot;&gt; 或者&lt;META HTTP-EQUIV=&quot;expires&quot; CONTENT=&quot;0&quot;&gt; ASP网页<br />Response.Expires = -1<br />Response.ExpiresAbsolute = Now() - 1<br />Response.cachecontrol = &quot;no-cache&quot;<br />PHP网页<br />header(&quot;Expires: Mon, 26 Jul 1997 05:00:00 GMT&quot;);<br />header(&quot;Cache-Control: no-cache, must-revalidate&quot;);<br />header(&quot;Pragma: no-cache&quot;);<br />19. 检查一段字符串是否全由数字组成<br />&lt;script language=&quot;javascript&quot;&gt;&lt;!--<br />function checkNum(str){return str.match(/\D/)==null}<br />alert(checkNum(&quot;1232142141&quot;))<br />alert(checkNum(&quot;123214214a1&quot;))<br />// --&gt;&lt;/script&gt; <br />20. 获得一个窗口的大小<br />document.body.clientWidth,document.body.clientHeight<br />21. 怎么判断是否是字符<br />if (/[^\x00-\xff]/g.test(s)) alert(&quot;含有汉字&quot;);<br />else alert(&quot;全是字符&quot;);<br />22.TEXTAREA自适应文字行数的多少<br />&lt;textarea rows=1 name=s1 cols=27 onpropertychange=&quot;this.style.posHeight=this.scrollHeight&quot;&gt; &lt;/textarea&gt; <br />23. 日期减去天数等于第二个日期<br />&lt;script language=javascript&gt; function cc(dd,dadd)<br />{ //可以加上错误处理<br />var a = new Date(dd)<br />a = a.valueOf()<br />a = a - dadd * 24 * 60 * 60 * 1000<br />a = new Date(a)<br />alert(a.getFullYear() + &quot;年&quot; + (a.getMonth() + 1) + &quot;月&quot; + a.getDate() + &quot;日&quot;)<br />} cc(&quot;12/23/2002&quot;,2)<br />&lt;/script&gt; <br />24. 选择了哪一个Radio<br />&lt;HTML&gt;&lt;script language=&quot;vbscript&quot;&gt; function checkme()<br />for each ob in radio1<br />if ob.checked then window.alert ob.value<br />next<br />end function<br />&lt;/script&gt;&lt;BODY&gt; &lt;INPUT name=&quot;radio1&quot; type=&quot;radio&quot; value=&quot;style&quot; checked&gt;Style<br />&lt;INPUT name=&quot;radio1&quot; type=&quot;radio&quot; value=&quot;barcode&quot;&gt;Barcode<br />&lt;INPUT type=&quot;button&quot; value=&quot;check&quot; onclick=&quot;checkme()&quot;&gt; &lt;/BODY&gt;&lt;/HTML&gt; <br />25.获得本页url的request.servervariables(&quot;&quot;)集合<br />Response.Write &quot;&lt;TABLE border=1&gt;&lt;!-- Table Header --&gt;&lt;TR&gt;&lt;TD&gt;&lt;B&gt;Variables&lt;/B&gt;&lt;/TD&gt;&lt;TD&gt;&lt;B&gt;value&lt;/B&gt;&lt;/TD&gt;&lt;/TR&gt;&quot;<br />for each ob in Request.ServerVariables<br />Response.Write &quot;&lt;TR&gt;&lt;TD&gt;&quot;&amp;ob&amp;&quot;&lt;/TD&gt;&lt;TD&gt;&quot;&amp;Request.ServerVariables(ob)&amp;&quot;&lt;/TD&gt;&lt;/TR&gt;&quot;<br />next<br />Response.Write &quot;&lt;/TABLE&gt;&quot;<br />26.<br />本机ip&lt;%=request.servervariables(&quot;remote_addr&quot;)%&gt; 服务器名&lt;%=Request.ServerVariables(&quot;SERVER_NAME&quot;)%&gt; 服务器IP&lt;%=Request.ServerVariables(&quot;LOCAL_ADDR&quot;)%&gt; 服务器端口&lt;%=Request.ServerVariables(&quot;SERVER_PORT&quot;)%&gt; 服务器时间&lt;%=now%&gt; IIS版本&lt;%=Request.ServerVariables&quot;SERVER_SOFTWARE&quot;)%&gt; 脚本超时时间&lt;%=Server.ScriptTimeout%&gt; 本文件路径&lt;%=server.mappath(Request.ServerVariables(&quot;SCRIPT_NAME&quot;))%&gt; 服务器CPU数量&lt;%=Request.ServerVariables(&quot;NUMBER_OF_PROCESSORS&quot;)%&gt; 服务器解译引擎&lt;%=ScriptEngine &amp; &quot;/&quot;&amp; ScriptEngineMajorVersion &amp;&quot;.&quot;&amp;ScriptEngineMinorVersion&amp;&quot;.&quot;&amp; ScriptEngineBuildVersion %&gt; 服务器操作系统&lt;%=Request.ServerVariables(&quot;OS&quot;)%&gt; <br />27.ENTER键可以让光标移到下一个输入框<br />&lt;input onkeydown=&quot;if(event.keyCode==13)event.keyCode=9&quot;&gt; <br />28. 检测某个网站的链接速度：<br />把如下代码加入&lt;body&gt;区域中:<br />&lt;script language=javascript&gt; tim=1<br />setInterval(&quot;tim++&quot;,100)<br />b=1<br />var autourl=new Array()<br />autourl[1]=&quot;www.njcatv.net&quot;<br />autourl[2]=&quot;javacool.3322.net&quot;<br />autourl[3]=&quot;www.sina.com.cn&quot;<br />autourl[4]=&quot;www.nuaa.edu.cn&quot;<br />autourl[5]=&quot;www.cctv.com&quot;<br />function butt(){<br />document.write(&quot;&lt;form name=autof&gt;&quot;)<br />for(var i=1;i&lt;autourl.length;i++)<br />document.write(&quot;&lt;input type=text name=txt&quot;+i+&quot; size=10 value=测试中&hellip;&hellip;&gt; =》&lt;input type=text name=url&quot;+i+&quot; size=40&gt; =》&lt;input type=button value=GO onclick=window.open(this.form.url&quot;+i+&quot;.value)&gt;&lt;br/&gt;&quot;)<br />document.write(&quot;&lt;input type=submit value=刷新&gt;&lt;/form&gt;&quot;)<br />} butt()<br />function auto(url){<br />document.forms[0][&quot;url&quot;+b].value=url<br />if(tim&gt;200)<br />{document.forms[0][&quot;txt&quot;+b].value=&quot;链接超时&quot;}<br />else<br />{document.forms[0][&quot;txt&quot;+b].value=&quot;时间&quot;+tim/10+&quot;秒&quot;}<br />b++<br />} function run(){for(var i=1;i&lt;autourl.length;i++)document.write(&quot;&lt;img src=http://&quot;+autourl+&quot;/&quot;+Math.random()+&quot; width=1 height=1 onerror=auto('http://&quot;;;+autourl+&quot;')&gt;&quot;)}<br />run()&lt;/script&gt; <br />29. 各种样式的光标<br />auto ：标准光标<br />default ：标准箭头<br />hand ：手形光标<br />wait ：等待光标<br />text ：I形光标<br />vertical-text ：水平I形光标<br />no-drop ：不可拖动光标<br />not-allowed ：无效光标<br />help ：?帮助光标<br />all-scroll ：三角方向标<br />move ：移动标<br />crosshair ：十字标<br />e-resize<br />n-resize<br />nw-resize<br />w-resize<br />s-resize<br />se-resize<br />sw-resize</p><p>注：本文发自云南电子商务研究站(<a href="http://www.xiongmaotou.com">http://www.xiongmaotou.com</a>),转载请附带本说明，谢谢</p><p>&nbsp;</p>]]></description><category>转载专区</category><comments>http:///www.xiongmaotou.com/post/113.html#comment</comments><wfw:comment>http:///www.xiongmaotou.com/</wfw:comment><wfw:commentRss>http:///www.xiongmaotou.com/feed.asp?cmt=113</wfw:commentRss><trackback:ping>http:///www.xiongmaotou.com/cmd.asp?act=tb&amp;id=113&amp;key=b641c15f</trackback:ping></item><item><title>变态验证码欣赏</title><author>admin@xiongmaotou.com (熊猫头)</author><link>http:///www.xiongmaotou.com/post/87.html</link><pubDate>Sat, 10 Apr 2010 09:10:54 +0800</pubDate><guid>http:///www.xiongmaotou.com/post/87.html</guid><description><![CDATA[<p>&nbsp;</p><div id="content_wrap"><div id="content"><div id="p1301738"><div class="post"><div class="postbody"><div align="center"><img alt="" hspace="4" vspace="4" border="1" src="http://chinese.engadget.com/media/2008/09/0077.jpg" /><br /><div align="left">验证码最主要的功能，就是防止机器人注册。一般说来，我们通常都会遇到扭曲的英文或数字。不过，有些验证码实在是变态到一个境界，不知道读者有遇过几个？<br /><br />像上图，请选择三个较热的人......</div></div><img alt="" hspace="4" vspace="4" border="1" src="http://chinese.engadget.com/media/2008/09/0076.jpg" /><br />这个实在不知道要算到什么时候。<br /><br /><img alt="" hspace="4" vspace="4" border="1" src="http://chinese.engadget.com/media/2008/09/0078.jpg" /><br />这要戴上老花眼镜，才看得清楚吧。<br /><br /><br /><img alt="" hspace="4" vspace="4" border="1" src="http://chinese.engadget.com/media/2008/09/0079.jpg" /><br />左方六个中，哪一个无法打开摊平成右方那样。<br /><br /><br /><img alt="" hspace="4" vspace="4" border="1" src="http://chinese.engadget.com/media/2008/09/0080.jpg" /><br />只要有猫的字母。<br /><br /><br /><img alt="" hspace="4" vspace="4" border="1" src="http://chinese.engadget.com/media/2008/09/0081.jpg" /><br />眼睛可能要有强大的还原能力才行<br /><br /><img alt="" hspace="4" vspace="4" border="1" src="http://chinese.engadget.com/media/2008/09/0082.jpg" /><br />这应该需要放大镜来支持了。<br /><br /><img alt="" hspace="4" vspace="4" border="1" src="http://chinese.engadget.com/media/2008/09/0083.jpg" /><br />你确定是要输入N1WTU？我看KOB可能也要吧？我自己就遇过这种的，到底要我输入什么，太残忍了。<br /><br /><br /><img alt="" hspace="4" vspace="4" border="1" src="http://chinese.engadget.com/media/2008/09/0084.jpg" /><br />你要的，可能不只是放大镜了。<br /><br /><br /><img alt="" hspace="4" vspace="4" border="1" src="http://chinese.engadget.com/media/2008/09/0085.jpg" /><br />比我写的英文草写还要来得草。<br /><br /><br /><img alt="" hspace="4" vspace="4" border="1" src="http://chinese.engadget.com/media/2008/09/0086.jpg" /><br />你要赌一赌。<br /><br /><img alt="" hspace="4" vspace="4" border="1" src="http://chinese.engadget.com/media/2008/09/0087.jpg" /><br />又要算了<br /><br /><img alt="" hspace="4" vspace="4" border="1" src="http://chinese.engadget.com/media/2008/09/0088.jpg" /><br />不一样的图形代表不同的字母，这一个是个人觉得最不变态的。<br /><br /><img alt="" hspace="4" vspace="4" border="1" src="http://chinese.engadget.com/media/2008/09/0089.jpg" /><br />这个看得清的话，也许我可以改行当米雕师父。<br /><br /><img alt="" hspace="4" vspace="4" border="1" src="http://chinese.engadget.com/media/2008/09/0090.jpg" /><br />根据引用来源，提到：「他的变态之处不在于验证码里要输入的内容，而是当你点击「想知道答案吗？」链接后会弹出一个对话框：不知道就算了，不用填。」。</div></div></div></div></div><p>注：本文发自云南电子商务研究站(<a href="http://www.xiongmaotou.com">http://www.xiongmaotou.com</a>),转载请附带本说明，谢谢</p>]]></description><category>转载专区</category><comments>http:///www.xiongmaotou.com/post/87.html#comment</comments><wfw:comment>http:///www.xiongmaotou.com/</wfw:comment><wfw:commentRss>http:///www.xiongmaotou.com/feed.asp?cmt=87</wfw:commentRss><trackback:ping>http:///www.xiongmaotou.com/cmd.asp?act=tb&amp;id=87&amp;key=bc40ec63</trackback:ping></item><item><title>快速更新网站首页百度快照的方法</title><author>admin@xiongmaotou.com (熊猫头)</author><link>http:///www.xiongmaotou.com/post/73.html</link><pubDate>Sat, 30 Jan 2010 22:21:09 +0800</pubDate><guid>http:///www.xiongmaotou.com/post/73.html</guid><description><![CDATA[<p>　　你是否还在因为百度快照更新而苦恼呢，你是否很想让百度快点更新自己的快照呢，你是否&hellip;&hellip;!看完下面的文章，做好应该做的，相信你的网站会另别人刮目相看：</p><p>　　1.用好点的空间，稳定压倒一切</p><p>　　我看过很多的站，因为空间问题，不是被K，就是被降权或者回档。所以即使你不买万网的豪华空间，你尽量也要来个二流的新网，时代互联之类的吧，也可以联系我(QQ：674970708)，由我来帮你买个快速又稳定的空间。</p><p>　　2.每天给网站添加一些原创内容</p><p>　　这个是必须的，就算你外链很强大，一段时间不更新原创的，百度一样懒得理你，要不然怎么会有标题为皇，内容为王的说法呢。内容要增加多少呢?一般根据你站点内容的多少，大概文章总量的2%-5%吧，每天都加个几篇。这样很有规律的加，百度蜘蛛会很青睐你的好习惯滴。</p><p>　　3.每天给网站找2-3个链接</p><p>　　有规律有步骤的加链接，那是做站的好品质，很多朋友一时心血来潮，看文章说外链作用大，就一天到晚加群换链接，一口气上个百把个，这是加链接的大忌，搜索引擎很容易认为你是在作弊。所以得有规律，一步步来。另外，对百度来说PR的影响很小，倒是快照很重要，如果你找的链接都是天天快照的，那对你的站来说是相当好的。有的朋友就问怎么找那么多百度天天快照的链接交换呢?这不，俺就建了一个百度天天快照的链接互助群，群号是19358754，加入的朋友请注明网址验证。试想一下，群里200个天天快照的网站，你每天加3个，够你加的了。一般的关键词轻松排上去了。</p><p>　　4.每周写2篇软文</p><p>　　做了，要天天检查，现在的网站变化太快了，有的站开始加的时候还不错，可是站长也是不稳定的人群，去上班了，或者推新站了，或者卖了，然后网站的命运也变化了。很容易出现降权，不更新，K站，链接被撤的各种不利情况。</p><p>　　5.每天检查一下网站的友情链接</p><p>　　写软文并不难，难的是坚持写，写高质量的文章，但是如今软文是最低成本的推广方式之一，我的一小站基本都是靠软文到百度首页的，效果很明显，做为一个合格的站长，是必须学会写软文的，不熟悉的朋友可以参加一下站长网举办的软文培训班。另外，写软文，一定要加上你的版权声明，现在总有一些品质低下的人，转载了，连个链接都不给，有的甚至把你文章的网址改成他自己的，坚决鄙视这种人，人品不好的人做站也不会好。</p><p>　　6.坚决不买黑链</p><p>　　不要贪图便宜，看到黑链才1元一条，就心动了。通常便宜没好货，再说黑链最大的特点是不稳定，而想要稳定的排名，就需要稳定，这两者完全是相互矛盾的。而且现在这现象很猖狂，未来不长的时间，在黑链方面必定受到法律法规的打击。做正规站的朋友远离黑链的好。</p><p>　　7.不用群发软件</p><p>　　可能很多SEO高手都用过群发软件，但是这些高手们往往是最先使用这些软件的一批人，所以效果也是很好的，当软件普及到大多数站长都在用的时候，也就往往没效了。所以在2009年的今天你还群发，你又落伍啦。还不如写几入篇软文效果好。</p><p>　　8.养几个高权重博客</p><p>　　养博客，在新站上线的时候，随便带一下，就很容易让搜索引擎收录，有时候加的新栏目或者文章迟迟不收录的时候，也可以用这些高权重博客带一下，博客比如百度、新浪、雅虎、网易等等，都还不错的。</p><p>　　9.到相关高权重论坛跟跟贴</p><p>　　跟贴不仅是一种美德，而且掌握了一些跟贴技巧，对网站也是很有益的，站长类的网站，几乎发的文章一会儿就收录了，在后面多跟跟贴很容易成为反链，用好签名也能让蜘蛛天天去爬你的网站。另外在与你主题相关的活跃论坛上跟跟贴，不仅仅带外链，还能为你的网站带来用户，一举两得，何乐而不为呢，不错的论坛那也不少，多找找就可以!</p><p>　　10.没事别经常大改版</p><p>　　生意不好整柜台，流量不高整网站，其实网站也像人一样，一个人经常改头换面，也得让你周围的人重新认识你，这需要一个过程，网站规划好了，版块定了，就不要轻易改，不得已做网站改版也尽量保持原来的路径。</p><p>注：本文发自云南电子商务研究站(<a href="http://www.xiongmaotou.com/"><font color="#669900">http://www.xiongmaotou.com</font></a>),转载请附带本说明，谢谢</p>]]></description><category>转载专区</category><comments>http:///www.xiongmaotou.com/post/73.html#comment</comments><wfw:comment>http:///www.xiongmaotou.com/</wfw:comment><wfw:commentRss>http:///www.xiongmaotou.com/feed.asp?cmt=73</wfw:commentRss><trackback:ping>http:///www.xiongmaotou.com/cmd.asp?act=tb&amp;id=73&amp;key=0ec1da86</trackback:ping></item><item><title>尽快提高网站的PR值的方法</title><author>admin@xiongmaotou.com (熊猫头)</author><link>http:///www.xiongmaotou.com/post/72.html</link><pubDate>Sat, 30 Jan 2010 22:15:53 +0800</pubDate><guid>http:///www.xiongmaotou.com/post/72.html</guid><description><![CDATA[<p>如何提高你网页的PR值？PR值都受那些因素影响呢？ <br />　　第一：网站外部链接的数量和质量 <br />　　在计算网站排名时，Pagerank会将网站的外部链接数考虑进去。并不能说一个网站的外部链接数越多其PR值就越高，如果这样的话，一个网站尽可能获得最多的外部链接就OK了，有这种想法是错误的。Google对一个网站上的外部链接数的重视程度并不意味着你因此可以不求策略地与任何网站建立连接。这是因为Google并不是简单地由计算网站的外部链接数来决定其等级。Google的Pagerank系统不单考虑一个网站的外部链接质量，也会考虑其数量。这个问题看来很有复杂。首先让我们来解释一下什么是阻尼因数(damping factor)。阻尼因数就是当你投票或链接到另外一个站点时所获得的实际PR分值。阻尼因数一般是0.85。当然比起你网站的实际PR值，它就显得微不足道了。 <br />　　现在让我们来看看这个PR分值的计算公式：PR(A)=(1-d)+d(PR(t1)/C(t1)+...+PR(tn)/C(tn)) 公式解释：其中PR(A)表示的是从一个外部链接站点t1上，依据Pagerank?系统给你的网站所增加的PR分值；PR(t1)表示该外部链接网站本身的PR分值；C(t1)则表示该外部链接站点所拥有的外部链接数量。大家要谨记：一个网站的投票权值只有该网站PR分值的0.85， <br />　　那么，是不是说对一个网站而言，它所拥有的较高网站质量和较高PR分值的外部链接数量越多就越好呢？错，因为－Google的Pagerank系统不单考虑一个网站的外部链接质量，也会考虑其数量。比方说，对一个有一定PR值的网站X来说，如果你的网站Y是它的唯一一个外部链接，那么Google就相信网站X将你的网站Y视做它最好的一个外部链接，从而会给你的网站Y更多的分值。可是，如果网站X上已经有49个外部链接，那么Google就相信网站X只是将你的网站视做它第50个好的网站。因而你的外部链接站点上的外部链接数越多，你所能够得到的PR分值反而会越低，它们呈反比关系。 <br />　　说它对是因为－一般情况下，一个PR分值大于等于6的外部链接站点，可显著提升你的PR分值。但如果这个外部链接站点已经有100个其它的外部链接时，那你能够得到的PR分值就几乎为零了。同样，如果一个外部链接站点的PR值仅为2，但你却是它的唯一一个外部链接，那么你所获得的PR值要远远大于那个PR值为6，外部链接数为100的网站。 <br />　　而且这个0.85的权值平均分配给其链接的每个外部网站。 <br />　　第二：Google在你的网站抓取的页面数 <br />　　Google在你的网站抓取的页面数，数目越多，Pagerank值越高。但通常Google并不会主动抓取你的网站的所有页面，尤其是网址里带有&ldquo;?&rdquo;的动态链接，Google不主动，那就要我们主动了，最笨的办法是把网站所有的页面都提交给Google，但我想没有谁真会这么做，但页面不多的话可以试试。更好的办法是制作一个静态Html页面，通常被称作&ldquo;网站地图&rdquo;或&ldquo;网站导航&rdquo;，它里面包含你要添加的所有网址，然后把这个静态页面提交给Google。 <br />　　第三：网站被世界三大知名网站 DMOZ，Yahoo和Looksmart 收录 <br />　　众所周知，Google的Pagerank系统对那些门户网络目录如DMOZ，Yahoo和Looksmart尤为器重。特别是对DMOZ。一个网站上的DMOZ链接对Google的Pagerank?来说，就好像一块金子一样珍贵。如果你的网站为ODP收录，则可有效提升你的页面等级。向ODP提交你的站点并为它收录，其实并不是一件难事，只是要多花点时间而已。只要确保你的网站提供了良好的内容，然后在ODP合适的目录下点击&ldquo;增加站点&rdquo;，按照提示一步步来就OK了。至少要保证你的索引页(INDEX PAGE)被收录进去。所以，如果你的网站内容涉及完全不同的几块内容，你可以把每个内容的网页分别向ODP提交－不过请记住&ldquo;欲速则不达&rdquo;。等到Google对其目录更新后，你就能看到你的PR值会有什么变化了。如果你的网站为Yahoo和Looksmart所收录，那么你的PR值会得到显著提升。如果你的网站是非商业性质的或几乎完全是非商业性质的内容，那么你可以通过zeall.com使你的网站为著名的网络目录Looksmart所收录。Looksmart也是从Zeal网络目录获得非商业搜索列表。 <br /><br />　　影响google pr的因素:<br />　　1 与pr高的网站做链接: <br />　　2 内容质量高的网站链接 <br />　　3加入搜索引擎分类目录 <br />　　4 加入免费开源目录 <br />　　5 你的链接出现在流量大、知名度高、频繁更新的重要网站上 <br />　　6google对DPF格式的文件比较看重。 <br />　　7安装Google工具条 <br />　　8域名和tilte标题出现关键词与meta标签等 <br />　　9反向连接数量和反向连接的等级 <br />　　10Google抓取您网站的页面数量 <br />　　11导出链接数量 <br />&nbsp;</p>]]></description><category>转载专区</category><comments>http:///www.xiongmaotou.com/post/72.html#comment</comments><wfw:comment>http:///www.xiongmaotou.com/</wfw:comment><wfw:commentRss>http:///www.xiongmaotou.com/feed.asp?cmt=72</wfw:commentRss><trackback:ping>http:///www.xiongmaotou.com/cmd.asp?act=tb&amp;id=72&amp;key=4c07afc4</trackback:ping></item><item><title>怎样才能尽快提升网站的Google排名</title><author>admin@xiongmaotou.com (熊猫头)</author><link>http:///www.xiongmaotou.com/post/71.html</link><pubDate>Sat, 30 Jan 2010 22:13:18 +0800</pubDate><guid>http:///www.xiongmaotou.com/post/71.html</guid><description><![CDATA[<p>　目前，国内外的SEO都在研究Google排名的因素，据说有三百多种。不过能够把握的无非都是最基本的那几种。目前，只要你能够针对你的网站把以下几方面做好，那么在Google排名中的排名应该是理所当然的事情。包括：</p><p><strong>　　1.内容做好。</strong>这是前提，内容好了自然吸引人，能够留住人，人气好了，搜索引擎当然关注你了。</p><p>　　<strong>2.网站结构优化好。</strong>网站结构要优化的让Google以及其他搜索引擎容易检索就OK。细节方面以后再详细谈。</p><p><strong>　　3.页面优化好。</strong>页面优化包括页面布局优化，页面文字排版处理，图片优化等等，细节比较多，网站优化并不是万能的，它只是让你的网页更容易让Google检索而已。一般而且，不可能通过网站优化就可以让任意的关键词排在Google搜索结果前面的。比如：一个卖化妆品的网站再怎么优化也不能在Google中输入&ldquo;电影&rdquo;一词的搜索结果前面。所以，网页优化不是作弊手段，Google排名也不是单一的网页优化。</p><p><strong>　　4.标签优化。</strong>它只是帮助搜索引擎更容易的了解你的网页，现在搜索引擎不是以前那么单纯了，还是老实点好。要设计的比较合理，也有一些技巧。</p><p><strong>　　5.外部连接。</strong>多建立外部连接对Google排名比较有效。如果你能够在短时间内建立许多外部连接，只能说明你的友情连接策略做的好，它不是作弊行为。不过如何做友情连接做的更加有效，这就是一些技巧方面的问题。当然，同样不是作弊。</p><p><strong>　　6.PR值。</strong>它是一个积累的过程。</p><p><strong>　　7.流量。</strong>大家都知道，流量对Google排名很重要，如果网站能够在段时间内迅速增长流量，对Google排名很有帮助，但是Google排名为了什么呢？还是为了流量，所以在流量上作弊不是那么容易的。</p><p><br />&nbsp;</p>]]></description><category>转载专区</category><comments>http:///www.xiongmaotou.com/post/71.html#comment</comments><wfw:comment>http:///www.xiongmaotou.com/</wfw:comment><wfw:commentRss>http:///www.xiongmaotou.com/feed.asp?cmt=71</wfw:commentRss><trackback:ping>http:///www.xiongmaotou.com/cmd.asp?act=tb&amp;id=71&amp;key=7a4d4dd8</trackback:ping></item></channel></rss>
