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

甘肃企业模板建站信息深圳网站设计公司

甘肃企业模板建站信息,深圳网站设计公司,长春公司网站建设,如何做网站导航栏文章目录 什么是索引#xff1f;索引有哪些优缺点#xff1f; 索引有哪几种类型#xff1f; 什么是索引#xff1f; 索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分)#xff0c;它们包含着对数据表里所有记录的引用指针。 索引是一种数据结构。数据库… 文章目录 什么是索引索引有哪些优缺点 索引有哪几种类型 什么是索引 索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分)它们包含着对数据表里所有记录的引用指针。 索引是一种数据结构。数据库索引是数据库管理系统中一个排序的数据结构以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B树。 更通俗的说索引就相当于目录。为了方便查找书中的内容通过对内容建立索引形成目录。索引是一个文件它是要占据物理空间的。 索引有哪些优缺点 索引的优点 可以大大加快数据的检索速度这也是创建索引的最主要的原因。 通过使用索引可以在查询的过程中使用优化隐藏器提高系统的性能。 索引的缺点 时间方面创建索引和维护索引要耗费时间具体地当对表中的数据进行增加、删除和修改的时候索引也要动态的维护会降低增/改/删的执行效率 空间方面索引需要占物理空间。 索引有哪几种类型 从大类来分分为聚簇索引和非聚簇索引 从具体的种类来分有 主键索引: 数据列不允许重复不允许为NULL一个表只能有一个主键。 唯一索引: 数据列不允许重复允许为NULL值一个表允许多个列创建唯一索引。 可以通过 ALTER TABLE table_name ADD UNIQUE (column); 创建唯一索引 可以通过 ALTER TABLE table_name ADD UNIQUE (column1,column2); 创建唯一组合索引 普通索引: 基本的索引类型没有唯一性的限制允许为NULL值。 可以通过ALTER TABLE table_name ADD INDEX index_name (column);创建普通索引 可以通过ALTER TABLE table_name ADD INDEX index_name(column1, column2, column3);创建组合索引 全文索引 是目前搜索引擎使用的一种关键技术。 可以通过ALTER TABLE table_name ADD FULLTEXT (column);创建全文索引 索引的数据结构b树hash 索引的数据结构和具体存储引擎的实现有关在MySQL中使用较多的索引有Hash索引B树索引等而我们经常使用的InnoDB存储引擎的默认索引实现为B树索引。对于哈希索引来说底层的数据结构就是哈希表因此在绝大多数需求为单条记录查询的时候可以选择哈希索引查询性能最快其余大部分场景建议选择BTree索引。 1B树索引 mysql通过存储引擎取数据基本上90%的人用的就是InnoDB了按照实现方式分InnoDB的索引类型目前只有两种BTREEB树索引和HASH索引。B树索引是Mysql数据库中使用最频繁的索引类型基本所有存储引擎都支持BTree索引。通常我们说的索引不出意外指的就是B树索引实际是用B树实现的因为在查看表索引时mysql一律打印BTREE所以简称为B树索引 创建索引的三种方式删除索引 第一种方式在执行CREATE TABLE时创建索引 CREATE TABLE user_index2 (id INT auto_increment PRIMARY KEY,first_name VARCHAR (16),last_name VARCHAR (16),id_card VARCHAR (18),information text,KEY name (first_name, last_name),FULLTEXT KEY (information),UNIQUE KEY (id_card) );第二种方式使用ALTER TABLE命令去增加索引 ALTER TABLE table_name ADD INDEX index_name (column_list);ALTER TABLE用来创建普通索引、UNIQUE索引或PRIMARY KEY索引。 其中table_name是要增加索引的表名column_list指出对哪些列进行索引多列时各列之间用逗号分隔。 索引名index_name可自己命名缺省时MySQL将根据第一个索引列赋一个名称。另外ALTER TABLE允许在单个语句中更改多个表因此可以在同时创建多个索引。 第三种方式使用CREATE INDEX命令创建 CREATE INDEX index_name ON table_name (column_list);CREATE INDEX可对表增加普通索引或UNIQUE索引。但是不能创建PRIMARY KEY索引 删除索引 根据索引名删除普通索引、唯一索引、全文索引alter table 表名 drop KEY 索引名 alter table user_index drop KEY name; alter table user_index drop KEY id_card; alter table user_index drop KEY information;删除主键索引alter table 表名 drop primary key因为主键只有一个。这里值得注意的是如果主键自增长那么不能直接执行此操作自增长依赖于主键索引 需要取消自增长再行删除 alter table user_index– 重新定义字段 MODIFY id int, drop PRIMARY KEY但通常不会删除主键因为设计主键一定与业务逻辑无关。 创建索引时需要注意什么 非空字段应该指定列为NOT NULL除非你想存储NULL。在mysql中含有空值的列很难进行查询优化因为它们使得索引、索引的统计信息以及比较运算更加复杂。你应该用0、一个特殊的值或者一个空串代替空值 取值离散大的字段变量各个取值之间的差异程度的列放到联合索引的前面可以通过count()函数查看字段的差异值返回值越大说明字段的唯一值越多字段的离散程度高 索引字段越小越好数据库的数据存储以页为单位一页存储的数据越多一次IO操作获取的数据越大效率越高。 使用索引查询一定能提高查询的性能吗为什么 通常通过索引查询数据比全表扫描要快。但是我们也必须注意到它的代价。 索引需要空间来存储也需要定期维护 每当有记录在表中增减或索引列被修改时索引本身也会被修改。 这意味着每条记录的INSERTDELETEUPDATE将为此多付出45 次的磁盘I/O。 因为索引需要额外的存储空间和处理那些不必要的索引反而会使查询反应时间变慢。使用索引查询不一定能提高查询性能索引范围查询(INDEX RANGE SCAN)适用于两种情况: 基于一个范围的检索一般查询返回结果集小于表中记录数的30% 基于非唯一性索引的检索 百万级别或以上的数据如何删除 关于索引由于索引需要额外的维护成本因为索引文件是单独存在的文件,所以当我们对数据的增加,修改,删除,都会产生额外的对索引文件的操作,这些操作需要消耗额外的IO,会降低增/改/删的执行效率。所以在我们删除数据库百万级别数据的时候查询MySQL官方手册得知删除数据的速度和创建的索引数量是成正比的。 所以我们想要删除百万数据的时候可以先删除索引此时大概耗时三分多钟 然后删除其中无用数据此过程需要不到两分钟 删除完成后重新创建索引(此时数据较少了)创建索引也非常快约十分钟左右。 与之前的直接删除绝对是要快速很多更别说万一删除中断,一切删除会回滚。那更是坑了。
http://www.sadfv.cn/news/436447/

相关文章:

  • 怎么做网站的登录界面电商运营方案计划书
  • 微信wap网站开发宁波seo博客
  • 南昌网站建设开发公司多种昆明网站建设
  • 广东建设中标网站网站建设高端设计
  • 装饰公司网站方案vps 用ip可以访问网站么
  • python+网站开发实例教程情头定制网站
  • 企业电子商务网站有哪些如何介绍自己的网页
  • 客户做外贸用那些网站动画网站源码
  • 科技感的网站二级网站怎么建设
  • 阿里巴巴数据分析官网株洲新站seo
  • 小说网站怎么做防采集电商网站建设技术员的工作职责
  • ps做网站效果龙华做网站公司
  • 安顺建设局网站网站宣传有文化事业建设费吗
  • 湖北微网站建设费用天津网站优化公司哪家专业
  • dedecms 食品网站衡阳县专业做淘宝网站
  • 网站底部广告班级优化大师免费下载安装
  • 企业网站平台如何做网络推广汕头网站建设开发
  • 建设境外网站做营销型网站一般要多少钱
  • 网站建设分几次付钱如何优化网站首页代码
  • 电影视频网站怎么做网站建设丿选择金手指排名15
  • 深圳免费建站哪里有长沙教育网站开发
  • 网站管理员怎样管理wordpress分类目录伪静态
  • 网站占有率广东中山建设信息网站
  • 自己建设网站赚钱班级优化大师手机版下载
  • 南昌网站建设公司市场甘肃第九建设集团公司网站
  • 查找网站建设虚拟目录网站备案地区名
  • 网站后台登入不了出现验证码错误地方门户网站策划书
  • 长沙网站开发微联讯点不错包头网站开发建设
  • 河北省建设厅网站首页企业做年度公示在哪个网站
  • 盗版网站是如何做的百度seo关键词