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

怎么做跳转不影响原网站排名图们市建设局网站

怎么做跳转不影响原网站排名,图们市建设局网站,服装网页怎么制作,接单网官网摘自http://www.cnblogs.com/LBSer/p/3322630.html 位图#xff08;BitMap#xff09;索引 前段时间听同事分享#xff0c;偶尔讲起Oracle数据库的位图索引#xff0c;顿时大感兴趣。说来惭愧#xff0c;在这之前对位图索引一无所知#xff0c;因此趁此机会写篇博文介绍下…            摘自http://www.cnblogs.com/LBSer/p/3322630.html   位图BitMap索引   前段时间听同事分享偶尔讲起Oracle数据库的位图索引顿时大感兴趣。说来惭愧在这之前对位图索引一无所知因此趁此机会写篇博文介绍下位图索引。 1. 案例   有张表名为table的表由三列组成分别是姓名、性别和婚姻状况其中性别只有男和女两项婚姻状况由已婚、未婚、离婚这三项该表共有100w个记录。现在有这样的查询     select * from table where Gender‘男’ and Marital“未婚”; 姓名(Name) 性别(Gender) 婚姻状况(Marital) 张三 男 已婚 李四 女 已婚 王五 男 未婚 赵六 女 离婚 孙七 女 未婚 ... ... ...   1不使用索引   不使用索引时数据库只能一行行扫描所有记录然后判断该记录是否满足查询条件。 2B树索引   对于性别可取值的范围只有男,女并且男和女可能各站该表的50%的数据这时添加B树索引还是需要取出一半的数据 因此完全没有必要。相反如果某个字段的取值范围很广几乎没有重复比如身份证号此时使用B树索引较为合适。事实上当取出的行数据占用表中大部分的数据时即使添加了B树索引数据库如oracle、mysql也不会使用B树索引很有可能还是一行行全部扫描。 2. 位图索引出马 如果用户查询的列的基数非常的小 即只有的几个固定值如性别、婚姻状况、行政区等等。要为这些基数值比较小的列建索引就需要建立位图索引。 对于性别这个列位图索引形成两个向量男向量为10100...向量的每一位表示该行是否是男如果是则位1否为0同理女向量位01011。 RowId 1 2 3 4 5 ... 男 1 0 1 0 0   女 0 1 0 1 1       对于婚姻状况这一列位图索引生成三个向量已婚为11000...未婚为00100...离婚为00010...。 RowId 1 2 3 4 5 ... 已婚 1 1 0 0 0   未婚 0 0 1 0 1   离婚 0 0 0 1 0      当我们使用查询语句“select * from table where Gender‘男’ and Marital“未婚”;”的时候 首先取出男向量10100...然后取出未婚向量00100...将两个向量做and操作这时生成新向量00100...可以发现第三位为1表示该表的第三行数据就是我们需要查询的结果。  RowId 1 2 3 4 5 男 1 0 1 0 0 and           未婚 0 0 1 0 1 结果 0 0 1 0 0 3.位图索引的适用条件   上面讲了位图索引适合只有几个固定值的列如性别、婚姻状况、行政区等等而身份证号这种类型不适合用位图索引。   此外位图索引适合静态数据而不适合索引频繁更新的列。举个例子有这样一个字段busy记录各个机器的繁忙与否当机器忙碌时busy为1当机器不忙碌时busy为0。   这个时候有人会说使用位图索引因为busy只有两个值。好我们使用位图索引索引busy字段假设用户A使用update更新某个机器的busy值比如update table set table.busy1 where rowid100;但还没有commit而用户B也使用update更新另一个机器的busy值update table set table.busy1 where rowid12; 这个时候用户B怎么也更新不了需要等待用户A commit。   原因用户A更新了某个机器的busy值为1会导致所有busy为1的机器的位图向量发生改变因此数据库会将busy1的所有行锁定只有commit之后才解锁。     以下内容转载自https://blog.csdn.net/pzqingchong/article/details/50971854 当前测试的版本是Mysql 5.5.25只有BTree和Hash两种索引类型默认为BTree。Oracle或其他类型数据库中会有Bitmap索引位图索引这里作为比较也一起提供。   BTree索引 BTree多路搜索树并不是二叉的是一种常见的数据结构。使用BTree结构可以显著减少定位记录时所经历的中间过程从而加快存取速度。按照翻译B 通常认为是Balance的简称。这个数据结构一般用于数据库的索引综合效率较高。——百度百科 不适合 单列索引的列不能包含null的记录复合索引的各个列不能包含同时为null的记录否则会全表扫描不适合键值较少的列重复数据较多的列前导模糊查询不能利用索引(like %XX或者like %XX%)  Hash散列索引 Hash散列索引是根据HASH算法来构建的索引。虽然 Hash 索引效率高但是 Hash 索引本身由于其特殊性也带来了很多限制和弊端主要有以下这些。 适合 精确查找非常快包括 和in其检索效率非常高索引的检索可以一次定位不像BTree 索引需要从根节点到枝节点所以 Hash 索引的查询效率要远高于 B-Tree 索引。不适合 不适合模糊查询和范围查询包括likebetween……and等由于 Hash 索引比较的是进行 Hash 运算之后的 Hash 值所以它只能用于等值的过滤不能用于基于范围的过滤因为经过相应的 Hash 算法处理之后的 Hash 值的大小关系并不能保证和Hash运算前完全一样不适合排序数据库无法利用索引的数据来提升排序性能同样是因为Hash值的大小不确定复合索引不能利用部分索引字段查询Hash 索引在计算 Hash 值的时候是组合索引键合并后再一起计算 Hash 值而不是单独计算 Hash 值所以通过组合索引的前面一个或几个索引键进行查询的时候Hash 索引也无法被利用。同样不适合键值较少的列重复值较多的列  Bitmap位图索引  就是用位图表示的索引对列的每个键值建立一个位图。相对于BTree索引占用的空间非常小创建和使用非常快。位图索引由于只存储键值的起止Rowid和位图,占用的空间非常少。如test表中有state这样一列10行数据如下 10    20    30    20    10    30    10    30    20    30 那么会建立三个位图如下 BLOCK1    KEY10  1    0    0    0    1    0    1    0    0    0   BLOCK2    KEY20  1    0    0    0    1    0    1    0    0    0 BLOCK3    KEY30  1    0    0    0    1    0    1    0    0    0 适合 适合决策支持系统当select count(XX) 时,可以直接访问索引中一个位图就快速得出统计数据当根据键值做andor或 in(x,y,..)查询时直接用索引的位图进行或运算,快速得出结果行数据。不适合 不适合键值较多的列重复值较少的列不适合update、insert、delete频繁的列代价很高。转载于:https://www.cnblogs.com/yedu/p/9198724.html
http://wiki.neutronadmin.com/news/288487/

相关文章:

  • 火币网站怎么做空前端网页设计招聘
  • 广汉网站分销系统平台有哪些
  • 淘宝客推广网站建设建筑公司logo设计大全
  • 广西建设厅网站地址室内设计培训学费多少
  • 大型网站开发的书网站开发招聘职位
  • ps怎么做网站的广告条改革开放40周年网站发展建设
  • 安平网站建设莱芜高新区
  • 怎么创网站赚钱吗建设银行个人
  • 番禺大石做网站陕西交通建设集团网站
  • 照片做视频的软件 模板下载网站漳州网站建设多少钱
  • 网站云优化江苏10大网站建设公司
  • 室内装修设计网站推荐Wordpress分类页插件
  • 建站工具指北电子商务主要学什么就业方向工资
  • 南宁企业网站分析可口可乐网站建设的目的
  • 外围网站做代理一级域名和二级域名
  • html 网站 模板中文做公司网站需要什么
  • 许昌建设企业网站网站主机推荐
  • 建设厅网站总经济师是干什么的怎么在腾讯地图上添加自己的店铺
  • 在百度做网站销售制作中秋网页素材
  • 成都专业建网站公司网站开发软件和工具ide和编辑器
  • 为什么网站建设需要每年续费介绍企业的ppt
  • 沈阳学网站制作学校宜兴城乡建设局网站
  • 谎称在网站网站做维护如何帮公司做网站
  • 自己做网站需要学什么可以做英语阅读理解的网站
  • 自建站多少钱推广网店店铺
  • 东莞如何编写网站建设编程网站入口
  • 青岛做网站建设的公司排名浙江网站建设公司
  • 重庆网站建设及优化专业做卖菜的网站
  • 网站建设网络推广方案ppt福田公司总部
  • 门户网站建设自查整改报告网站建设添加视频