当前位置: 首页 > news >正文

asp网站建设实录创立制作网站公司

asp网站建设实录,创立制作网站公司,网站开发登录链接,在阿里巴巴网站上怎么做贸易概要什么是单一索引,什么又是复合索引呢? 何时新建复合索引#xff0c;复合索引又需要注意些什么呢#xff1f;本篇文章主要是对网上一些讨论的总结。一.概念单一索引是指索引列为一列的情况,即新建索引的语句只实施在一列上。用户可以在多个列上建立索引#xff0c;这种索… 概要什么是单一索引,什么又是复合索引呢? 何时新建复合索引复合索引又需要注意些什么呢本篇文章主要是对网上一些讨论的总结。一.概念单一索引是指索引列为一列的情况,即新建索引的语句只实施在一列上。用户可以在多个列上建立索引这种索引叫做复合索引(组合索引)。复合索引的创建方法与创建单一索引的方法完全一样。但复合索引在数据库操作期间所需的开销更小可以代替多个单一索引。当表的行数远远大于索引键的数目时使用这种方式可以明显加快表的查询速度。同时有两个概念叫做窄索引和宽索引窄索引是指索引列为1-2列的索引,如果不特殊说明的话一般是指单一索引。宽索引也就是索引列超过2列的索引。设计索引的一个重要原则就是能用窄索引不用宽索引因为窄索引往往比组合索引更有效。拥有更多的窄索引将给优化程序提供更多的选择余地这通常有助于提高性能。二.使用创建索引 create index idx1 on table1(col1,col2,col3)  查询select * from table1 where col1 A and col2 B and col3 C这时候查询优化器不在扫描表了而是直接的从索引中拿数据因为索引中有这些数据这叫覆盖式查询这样的查询速度非常快。   三.注意事项1.何时是用复合索引在where条件中字段用索引如果用多字段就用复合索引。一般在select的字段不要建什么索引(如果是要查询select col1 ,col2, col3 from mytable,就不需要上面的索引了)。根据where条件建索引是极其重要的一个原则。注意不要过多用索引否则对表更新的效率有很大的影响因为在操作表的时候要化大量时间花在创建索引中.2.对于复合索引在查询使用时最好将条件顺序按找索引的顺序这样效率最高。如    IDX1:create   index   idx1   on   table1(col2,col3,col5)    select   *   from   table1   where   col2A   and   col3B   and   col5D  如果是select   *   from   table1   where   col3B   and   col2A   and   col5D或者是select   *   from   table1   where   col3B将不会使用索引或者效果不明显3.复合索引会替代单一索引么?很多人认为只要把任何字段加进聚集索引就能提高查询速度也有人感到迷惑如果把复合的聚集索引字段分开查询那么查询速度会减慢吗带着这个问题我们来看一下以下的查询速度结果集都是25万条数据日期列fariqi首先排在复合聚集索引的起始列用户名neibuyonghu排在后列IDX1:create   index   idx1   on   Tgongwen(fariqi,neibuyonghu)  1select gid,fariqi,neibuyonghu,title from Tgongwenwhere fariqi2004-5-5查询速度2513毫秒2select gid,fariqi,neibuyonghu,title from Tgongwenwhere fariqi2004-5-5 and neibuyonghu办公室查询速度2516毫秒3select gid,fariqi,neibuyonghu,title from Tgongwenwhere neibuyonghu办公室查询速度60280毫秒从以上试验中我们可以看到如果仅用聚集索引的起始列作为查询条件和同时用到复合聚集索引的全部列的查询速度是几乎一样的甚至比用上全部的复合索引列还要略快在查询结果集数目一样的情况下而如果仅用复合聚集索引的非起始列作为查询条件的话这个索引是不起任何作用的。当然语句1、2的查询速度一样是因为查询的条目数一样如果复合索引的所有列都用上而且查询结果少的话这样就会形成“索引覆盖”因而性能可以达到最优。同时请记住无论您是否经常使用聚合索引的其他列但其前导列一定要是使用最频繁的列。[参考: 查询优化及分页算法方案 http://blog.csdn.net/chiefsailor/archive/2007/05/28/1628339.aspx]4.需要在同一列上同时建单一索引和复合索引么?试验: sysbase   5.0   表table1   字段col1,col2,col3  试验步骤  1建立索引idx1   on   col1    执行select   *   from   table1   where   col1A     使用idx1    执行select   *   from   table1   where   col1A   and   col2B   也使用idx1  2删除索引idx1,然后建立idx2   on   (col1,col2)复合索引    执行以上两个查询也都使用idx2  3如果两个索引idx1,idx2都存在    并不是   where   col1A用idx1where   col1A   and   col2B  用idx2。    其查询优化器使用其中一个以前常用索引。要么都用idx1,要么都用idx2.     由此可见1对一张表来说如果有一个复合索引 on   (col1,col2)就没有必要同时建立一个单索引 on col1。2如果查询条件需要可以在已有单索引 on col1的情况下添加复合索引on   (col1,col2)对于效率有一定的提高。3同时建立多字段(包含5、6个字段)的复合索引没有特别多的好处相对而言建立多个窄字段(仅包含一个或顶多2个字段)的索引可以达到更好的效率和灵活性。5. 一定需要覆盖性查询么通常最好不要采用一个强调完全覆盖查询的策略。如果Select子句中的所有列都被一个非群集索引覆盖优化程序会识别出这一点并提供很好的性能。不过这通常会导致索引过宽并会过度依赖于优化程序使用该策略的可能性。通常是用数量更多的窄索引这对于大量查询来说可以提供更好的性能。 转载于:https://www.cnblogs.com/firstdream/p/7241368.html
http://www.pierceye.com/news/584484/

相关文章:

  • 看电视剧的免费网站app下载网站等保如何做
  • 如何做网站的营销中山vi设计公司
  • 搜索引擎网站使用的排名规则室内设计联盟网页版
  • php 手机网站开发手机端网站开发框架
  • 苏州电信网站备案浙江搜索引擎优化
  • 黄岛网站建设哪家好市体育局网站 两学一做
  • 上海建设银行网站转账记录吗外国网站做问卷调查挣钱
  • 深圳做购物网站十堰网络销售
  • 郑州企业网站优化多少钱百度竞价排名价格
  • js特效做的好的网站什么专业是做网站
  • 淄川响应式网站建设网站在国内服务器在国外
  • 施工企业市场经营工作思路及措施个人如何优化网站有哪些方法
  • 怎么做一个盈利网站义乌创博网络科技有限公司
  • 学校网站建设代码不重名的建筑公司名字
  • 网站开发模块的需求海外销售平台有哪些
  • 前端和后端的区别工资郑州网站优化怎样做
  • 小程序模板平台有哪些网站优化包括哪些内容
  • 免费建网站的好的移动端网站模板下载
  • 青岛网站优化排名视频源网站怎么做
  • 做网站找我二级学院网站建设方案
  • 知名网站建设公司 北京近期网络营销的热点事件
  • 网站开发产品经理网站例子
  • 动态静态结合网站网站做404是什么意思
  • 注册域名的网站网站建设的具体步骤
  • 行业网站分类自建站排名
  • 网站备案 登陆安徽省住房和城乡建设厅网站领域
  • 做个网站需要多少钱.网站建设合同注意事项
  • 中国诚信建设网站在线代码生成器
  • 长沙企业网站建设团队目前网络最好的挣钱平台
  • 国家建设工程安全质量监督网站友情链接网