第四章:索引的使用 索引分类 如何有效建立索引 1.看sql执行计划,有没有全表扫描或者效率低的语句 2.看语句,找到相关表及其关联字段 3.选择可选性最高的字段建立索引:可选性就是字段不同记录值最多 如何避免索引被抑制 规范1:不要轻易在字段前面添加函数 规范2:尽量不要将字段添加到函数表达式中 复合索引--双刃剑 P62 前缀性:优先按某一字段排序的表会走包含那一个字段的复合索引 可选性
转载
2024-05-12 15:04:10
144阅读
pgsql 全文索引
先给个实际的效果,在hotel数据库,进入poi_detail数据表,执行指令
select name from poi_detail where to_tsvector('senaean_word'::regconfig,lower(name)) @@ plainto_tsquery('senaean_word'::r
转载
2024-02-28 11:29:43
277阅读
1. 索引的特性1.1 加快条件的检索的特性当表数据量越来越大时查询速度会下降,在表的条件字段上使用索引,快速定位到可能满足条件的记录,不需要遍历所有记录。create table t(id int, info text);
insert into t select generate_series(1,10000),'lottu'||generate_series(1,10000);
create
联合索引 命名规则:表名_字段名1、需要加索引的字段,要在where条件中2、数据量少的字段不需要加索引3、如果where条件中是OR关系,加索引不起作用4、符合最左原则联合索引又叫复合索引。对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分。例如索引是key index (a,b,c). 可以支持a | a,b|&nbs
转载
2024-07-30 14:35:17
77阅读
提到在线加索引都是商业数据库的功能,例如SQL SERVER 在线加索引就是你花钱买的版本也必须是企业版,
原创
2022-06-22 10:14:41
167阅读
提到在线加索引都是商业数据库的功能,例如SQL SERVER 在线加索引就是你花钱买的版本也必须是企业版, 标准版都不能在线加索引。POSTGRESQL 支持在线加索引的功能,在本文撰写期间MYSQL 是不支持 online add index 对于几千万的大表建立索引还是要使用工具,并且8.0 使用gh ost 是有我问题,所以对于大表加索引并且是8.0的情况还得是 pt-osc.下
原创
2023-06-20 04:07:10
170阅读
1、创建测试表 CREATE TABLE big_data( id character varying(50) NOT NULL, name character varying(50), datetime timestamp with time zone, CONSTRAINT big_data_p
转载
2019-10-11 08:33:00
635阅读
2评论
postgresql的索引postgresql提供的索引类型有:B-tree、hash、gist和gin。大多情况下,B-tree索引比较常用,用户可以使用create index命令创建一个B-tree索引。1、B-tree索引: B-tree适合处理那些能够按顺序存储的数据,比如对于一些字段涉及使用:< ,<= ,= ,>= 或 >操作符之一进行
原创
2018-08-01 10:13:47
10000+阅读
Postgresql索引B-tree、 Hash、 GiST、https://www.cnblogs.com/alianbog/p/5628543.html (可全模糊查询) SP-GiST 、 GIN BRIN如果只有前模糊查询需求(字符串 like ‘xx%’),使用collate "C"的b-tree索引;当collate不为"C"时, 可以使用类型对应的pattern ops(例如text
转载
2021-03-18 17:35:31
1715阅读
2评论
PostgreSQL中有几种索引类型,如B-tree,Hash,GiST,SP-GiST和GIN等。每种索引类型根据不同的查询使用不同的算法。 默认情况下,CREATE INDEX命令使用B树索引。在项目中经常使用单列索引,对应查询where语句搜索字段语法create index index_name on table_name(column_name);多列索引,后面加多个即可cr...
原创
2021-07-28 10:27:12
1741阅读
在一个繁忙的业务系统中,创建索引的时候,会提示ORA-00054告警。加上online语句即可。关于online语句,官方有以下解释:参考文档:https://docs.oracle.com/en/database/oracle/oracle-database/12.2/sqlrf/CREATE-INDEX.html#GUID-1F89BBC0-825F-4215-AF71-7588E31D8BF
转载
2024-05-31 09:10:40
164阅读
文章目录怎么给字符串字段加索引?一、归纳1.1 字符串字段创建索引方式?1.2 各种方式可能的缺点?二、原文前缀索引对覆盖索引的影响其他方式小结上期问题时间 怎么给字符串字段加索引?MySql实战笔记是针对极客时间:《MySql实战45讲–从原理到实战,丁奇带你搞懂MySql》系列课程的学习和自我总结而成的读书笔记;一、归纳1.1 字符串字段创建索引方式?直接创建索引创建前缀索引倒序存储,再创建
转载
2024-03-25 18:22:19
37阅读
B+树索引使用OLTP和OLAP需要使用索引的情况联合索引1)联合索引树结构2)联合索引使用分析可以完整用到联合索引的情况只能使用部分联合索引的情况可以使用覆盖索引的情况不能使用联合索引的情况普通索引与唯一索引1)insert buffer和change buffer2)普通索引与唯一索引的区别3)普通索引和唯一索引的选择 OLTP和OLAP数据库存在两种类型的应用,OLTP和OLAP应用。联机
转载
2024-06-05 21:35:44
45阅读
题记:在数据泵导入时默认情况下创建索引是不使用并行的,所以这一步会消耗较长的时间,除了人工写脚本并行创建索引外,数据泵在导入时也可以并行创建索引,本文详细介绍了整个测试过程并得出测试结论。测试环境为11204单实例:首先创建测试表和测试索引:然后并行导出,在导入时指定parallel等于4并设置sqlfile参数,查看生成的sql文本:发现sql文本中并未使用并行:接下来为了更直接的看出整个过程先
转载
2024-03-28 09:59:01
24阅读
1.概述在Linux系统,为了隐藏具体文件系统的实现细节,提供了一个虚拟文件系统,VFS支持的文件系统可以划分为以下三个类型:(1)基于磁盘的文件系统Ext2, Ms-Dos(2)网络文件系统,可以通过网络访问其它文件系统上的内容,如NFS,SMB。(3)特殊的文件系统如/proc,存在内存的文件系统,可以通过通用文件系统接口访问相关信息,这类文件系统不占用磁盘空间。2. VFS的管理对象Linu
--查询索引 select * from pg_indexes where tablename='tab1'; --创建索引(查询用到哪几列,就对哪几个字段创建索引) CREATE INDEX index_moni_gk_city_day ON moni_gk_city_day USING btre
转载
2020-11-18 18:40:00
2276阅读
2评论
在 PostgreSQL 的数据库王国里,索引就像是一本超级厉害的秘籍,能让查询数据的速度像坐上火箭一样快。
背景因为工作岗位的原因,负责制定了关于后端组数据库的规约规范,作为所有产品线的规范,历经几版的修改,最终形成下边的文本,规范在整个后端执行也有大半年的时间,对于整个团队在开发阶段就减少不恰当的建表语句、错误SQL、错误的索引有积极的意义,故分享出来给大家参考。 下边分为
建表规约、SQL规约、索引规约 三个部分,每部分的每一条都有
强制、建议 两个级别,大家在参考时,根据自
转载
2024-02-28 11:41:34
73阅读
GIN(Generalized Inverted Index, 通用倒排索引) 是一个存储对(key, posting list)集合的索引结构,其中key是一个键值,而posting list 是一组出现过key的位置。如(‘hello', '14:2 23:4')中,表示hello在14:2和2 ...
转载
2021-09-30 16:03:00
1277阅读
2评论
1.正向索引和反向索引正向索引:也叫正排索引,正向索引是先遍历查找文档,然后在然后再文档内容中匹配搜索关键字,这种方法是遍历扫描方法,数据量大就会造成搜索慢的结果。 反向索引:也叫倒排索引,倒排索引结构包括索引和文档两部分,索引部分是经过分词之后存储的,倒排索引先在索引中匹配关键字,然后关联到对应的文档。常用于索引引擎 2.Lucene介绍Lucene 是 Apac
转载
2024-10-11 20:00:25
222阅读