文档章节

数据库 索引

 非想非非想
发布于 2017/08/28 09:55
字数 361
阅读 0
收藏 0
点赞 0
评论 0

一般的索引都是B_树索引(INDEX),还有一种是位图索引(BITMAP INDEX)。

创建索引的原则: 当任何单个查询要检索的行少于或等于整个表行数的10%时,索引就非常有用。

Oracle数据库会自动为表的主键以及包含在唯一约束中的列自动创建B-树索引。

B_树  基础为二叉查找树结构,其查找的时间复杂度O(log2N) ,包括二叉查找树,平衡二叉查找树,红黑树,进阶则是B-树、B+树、B*树。

位图索引创建原则:用在包含大量数据且内容不常修改的表中(数据仓库)。而且只应该在包含少量不同值得列上创建。如果某列的不同值数量少于表中行数的1%,或者如果某列的值的重复次数多余100次,那么此列就是位图索引的候选列。例如有一个表,它包含一百万行,那么小于等于一万个不同值的列就是很不错的位图索引候选列。对表行的更新应该极少,且列需要频繁的用在查询的WHERE子句中。

mysql索引

SHOW INDEX FROM table_name;

CREATE INDEX indexName ON mytable(username(length));

ALTER mytable ADD INDEX [indexName] ON (username(length)) ;

ALTER TABLE mytable ADD INDEX name_city_age (name(10),city,age);
ALTER TABLE mytable ADD INDEX (c);

ALTER TABLE mytable DROP INDEX c;

DROP INDEX [indexName] ON mytable;

 

© 著作权归作者所有

共有 人打赏支持
粉丝 1
博文 34
码字总数 24345
作品 0
西安
Oracle创建索引要做到三个适当

在Oracle数据库中,创建索引虽然比较简单。但是要合理的创建索引则比较困难了。笔者认为,在创建索引时要做到三个适当,即在适当的表上、适当的列上创建适当数量的索引。虽然这可以通过一句话...

超人不会飞 ⋅ 2012/07/28 ⋅ 0

Where语句设置不当导致索引失效

虽然说索引在使用上可能有种种限制,但是还是在数据库设计中被充分利用。因为在大部分情况下索引还是被用来提高数据库性能的一个工具。 虽然说索引在使用上可能有种种限制,但是还是在数据库...

疯狂的艺术家 ⋅ 2011/04/01 ⋅ 1

Oracle:索引之二元高度

作为数据库管理员来说,要在表上建立索引很简单。但是要知道这个索引是否合适、如何优化索引则就具有一定的难度。这项工作也是用来评价一个数据库管理员是否算得上专家的一个重要指标。那么为...

神谕03 ⋅ 2017/06/28 ⋅ 0

数据库系统学习一

学习书《数据库系统教程》第三版 作者:施伯乐 1、什么是索引? a、在关系数据库中,索引是表或视图在数据库中的一种结构,他可以使对应的表的SQL语句执行更快。索引的作用相当于图书的目录,...

小湘西 ⋅ 2015/10/22 ⋅ 0

数据库性能优化(MySQL)

序: 即使有较长的缓存有效期和较理想的缓存命中率,但是缓存的创建和缓存过期后的重建都是需要访问数据库的。对数据库写操作不是很容易引入缓存策略。 11.1 查看数据库状态 可以通过show st...

liuhao_sh ⋅ 2015/08/17 ⋅ 0

PostgreSQL 批量导入性能 (采用dblink 异步调用)

标签 PostgreSQL , unlogged table , 批量 , dblink 背景 批量导入数据,怎样能挖掘出系统的比较极限的潜能? 瓶颈通常在哪里? 1、WAL lock 2、INDEX lock 3、EXTEND LOCK 4、autovacuum 干扰...

德哥 ⋅ 05/06 ⋅ 0

微服务化的数据库设计与读写分离

本文由 网易云 发布 作者:刘超,网易云解决方案架构师 数据库永远是应用最关键的一环,同时越到高并发阶段,数据库往往成为瓶颈,如果数据库表和索引不在一开始就进行良好的设计,则后期数据...

wangyiyungw ⋅ 05/15 ⋅ 0

数据库的唯一索引

唯一索引是不允许表中任何两行具有相同索引值的索引。 当现有的数据中存在重复的键值时,大多数数据库不允许把新创建的唯一索引与表一起保存。数据库还可能防止添加将在表中创建重复键值的新...

博为峰教研组 ⋅ 2016/12/15 ⋅ 0

ES权威指南(中文版)学习_1

1、在ES中存储数据的行为叫做 索引(indexing),不过在索引之前我们应该明确的是数据应该存储在哪里。 2、在ES中,文档归属于一种类型(type),而这些类型存在于索引(index)中,类比传统...

MrYx3en ⋅ 2015/09/21 ⋅ 0

数据库索引

1. 索引类型 根据数据库的功能,可以在数据库设计器中创建索引:唯一索引、主键索引和聚集索引。 尽管唯一索引有助于定位信息,但为获得最佳性能结果,建议改用主键或唯一约束。 1.1 唯一索引...

软通快递 ⋅ 2017/06/03 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Spring Boot整合模板引擎thymeleaf

项目结构 引入依赖pom.xml <!-- 引入 thymeleaf 模板依赖 --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId......

yysue ⋅ 12分钟前 ⋅ 0

ConstraintLayout使用解析

AndroidStudio3.0创建Project默认的布局就是ConstraintLayout。 AndroidStudio3.0前的可以自己修改,使用ConstraintLayout。 为了要使用ConstraintLayout,我们需要在app/build.gradle文件中...

_OUTMAN_ ⋅ 24分钟前 ⋅ 0

OSChina 周三乱弹 —— 这样的女人私生活太混乱了

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @ 胖达panda :你经历过体验到人生的大起大落吗?我一朋友在10秒内体验了,哈哈。@小小编辑 请点一首《almost lover》送给他。 《almost love...

小小编辑 ⋅ 57分钟前 ⋅ 9

自己动手写一个单链表

文章有不当之处,欢迎指正,如果喜欢微信阅读,你也可以关注我的微信公众号:好好学java,获取优质学习资源。 一、概述 单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对...

公众号_好好学java ⋅ 今天 ⋅ 0

Centos7重置Mysql 8.0.1 root 密码

问题产生背景: 安装完 最新版的 mysql8.0.1后忘记了密码,向重置root密码;找了网上好多资料都不尽相同,根据自己的问题总结如下: 第一步:修改配置文件免密码登录mysql vim /etc/my.cnf 1...

豆花饭烧土豆 ⋅ 今天 ⋅ 0

熊掌号收录比例对于网站原创数据排名的影响[图]

从去年下半年开始,我在写博客了,因为我觉得业余写写博客也还是很不错的,但是从2017年下半年开始,百度已经推出了原创保护功能和熊掌号平台,为此,我也提交了不少以前的老数据,而这些历史...

原创小博客 ⋅ 今天 ⋅ 0

LVM讲解、磁盘故障小案例

LVM LVM就是动态卷管理,可以将多个硬盘和硬盘分区做成一个逻辑卷,并把这个逻辑卷作为一个整体来统一管理,动态对分区进行扩缩空间大小,安全快捷方便管理。 1.新建分区,更改类型为8e 即L...

蛋黄Yolks ⋅ 今天 ⋅ 0

Hadoop Yarn调度器的选择和使用

一、引言 Yarn在Hadoop的生态系统中担任了资源管理和任务调度的角色。在讨论其构造器之前先简单了解一下Yarn的架构。 上图是Yarn的基本架构,其中ResourceManager是整个架构的核心组件,它负...

p柯西 ⋅ 今天 ⋅ 0

uWSGI + Django @ Ubuntu

创建 Django App Project 创建后, 可以看到路径下有一个wsgi.py的问题 uWSGI运行 直接命令行运行 利用如下命令, 可直接访问 uwsgi --http :8080 --wsgi-file dj/wsgi.py 配置文件 & 运行 [u...

袁祾 ⋅ 今天 ⋅ 0

JVM堆的理解

在JVM中,我们经常提到的就是堆了,堆确实很重要,其实,除了堆之外,还有几个重要的模块,看下图: 大 多数情况下,我们并不需要关心JVM的底层,但是如果了解它的话,对于我们系统调优是非常...

不羁之后 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部