--查询索引 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
2190阅读
2评论
数据库索引: 如何某表的某个字段有主键约束和唯一性约束,则Oracle 则会自动在相应的约束列上建议唯一索引。数据库索引主要进行提高访问速度。创建原则:  1、索引应该经常建在Where 子句经常用到的列上。如果某个大表经常使用某个字段进行查询,并且检索行数小于总表行数的5%。则应该考虑。  2、对于两表连接的字段,应该建立索引。如果经常在某表的一个字段进行Order By 则也经过进行索引
head与postman基于索引的基本操作 for elasticsearch1.可以阅读完下面两篇博客再来阅读该文档安装elasticsearch到linux服务器安装es-header插件2.es-head的复合查询,请求的连接为我们安装了es的虚拟机IP,这个返回的数据和我们在浏览器上获取的一致3.使用postman访问es服务器:请求安装了es的虚拟机IP返回的数据一致 4.通过es-he
转载 4月前
42阅读
基础概念索引: 索引是对表中的一列或者多列的数据进行排序的物理结构。联合索引: 两个或更多个列上的索引被称作联合索引,联合索引又叫复合索引。测试前准备MySql数据库版本5.7.29 MySQL Community Server (GPL)建表语句CREATE TABLE t_user ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
Create index concurrently我们知道数据库创建索引可能会锁住创建索引的表,并且用该表上的一次扫描来执行整个索引的构建,这样在创建索引时会影响在线业务,非常大的表创建索引可能会需要几个小时,这样阻塞业务是不被允许的。商业数据库一般都提供在线创建索引的能力,PostgreSQL作为开源数据库,也提供了这样的功能。我们在CREATE INDEX命令中新增CONCURRENTLY选项
原创 2021-03-06 10:40:51
883阅读
一、环境Mysql 5.7二、Mysql索引创建解读1.概述通常我们在使用CREATE TABLE时会创建所有的索引索引创建对于 InnoDB 表尤其重要,其中主键决定了数据文件中行的物理布局。CREATE INDEX是另一种添加索引的方式,针对已经创建的表添加索引。注意,CREATE INDEX这种方式是被映射到 ALTER TABLE来创建索引。而且对于PRIMARY KEY不能使用CRE
Create index concurrently我们知道数据库创建索引可能会锁住创建索引的表,并且用该表上的一次扫描来执行整个索引的构建,这样在创建索引时会影响在线业务,非常大的表创建索引可能会需要几个小时,这样阻塞业务是不被允许的。商业数据库一般都提供在线创建索引的能力,PostgreSQL作为开源数据库,也提供了这样的功能。我们在CREATE INDEX命令中新增CONCURRENTLY选项
原创 2021-03-01 21:46:58
585阅读
前言:介绍Oracle索引操作的一些常用语句:创建索引的一些规则:1、权衡索引个数与DML之间关系,DML也就是插入、删除数据操作。这里需要权衡一个问题,建立索引的目的是为了提高查询效率的,但建立的索引过多,会影响插入、删除数据的速度,因为我们修改的表数据,索引也要跟着修改。这里需要权衡我们的操作是查询多还是修改多。2、把索引与对应的表放在不同的表空间。当读取一个表时表与索引是同时进行的。如果表与
案例描述     这是在索引重组过程中遇到的有意思的错误案例,搜索了一下也没有看到相关资料,估计我第一个碰到这类错误的人(It's just a joke)。具体情况是YourSQLDba在做维护数据库索引时遇到了索引重组错误,然后我排查时就发现了这个案例。我下面用一个简单的测试例子演示一下具体情况。   数据库版本: SQL SERVER 2
  数据库索引创建经常需要进行更新操作的属性1、表的主键、外键必须有索引;2、数据量超过300的表应该有索引;3、经常与其他表进行连接的表,在连接字段上应该建立索引;4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;5、索引应该建在选择性高的字段上;6、索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引;7、复合索引的建立需要进行仔细分析;尽量考虑用单字段索引代替
g_trgm is an extension, so: If you get the following error ERROR: could not open extension control file ".../extension/pg_trgm.control":No such file o
原创 2022-08-23 16:35:07
230阅读
[root@hs-10-20-30-199 bin]# pstack 48430 #0 0x00007fbd9375a62e in strcoll_l () from /lib64/libc.so.6 #1 0x000000000087bc82 in varstrfastcmp_locale (a1
f5
3d
5e
原创 2022-06-01 10:52:02
425阅读
在一次系统割接的时候,我们碰到一个十分奇怪的现象。由于进行系统迁移,因此很多大表在数据导入时没有创建索引,导入结束后需要重建索引。为了加快索引创建速度,我们需要并行建索引。虽然在创建索引的脚本中加入了PARALLEL 40,但是实际上,创建索引的操作还是串行的。这时一套拥有64个核的系统,并行创建索引可以成倍的提高速度。而无法是用并行会严重影响割接前的准备工作。因此这个原因需要尽快查清
昨天把一个数据表的字段从普通索引,修改成为了唯一索引。准备早早下班的时候,突然发现数据库的内存命中率从98%下降到了48%,导致大量的任务处于阻塞状态,整个系统也阻塞了。其实这个就是普通索引和唯一索引使用不当引起的原因。下面听我分析。先来介绍一个知识点change buffer数据库运行更新语句的时候,在更新一个数据页时,如果此数据页没有在内存中,为了不需要从磁盘中读取整个数据页的数据,
select s.oid,s.relname,t.stausename,t.stasubtype from pg_class s,pg_stat_last_operation t where s.relname='XXXX' and t.objid=s.oid;
转载 2019-08-28 17:42:00
5380阅读
2评论
总体感觉整个索引创建的比较慢,PostgreSQL10没有并行创建索引的功能,所以执行过程中,仅用到了服务器的一个核心来执行计算。索引创建是一个高CPU消耗的工作,CPU基本会跑满,会用到backend的两个work_mem进行排序,并没有什么实质的IO操作,读写操作会在中间和最后分段批量执行。 背
转载 2019-06-21 09:48:00
266阅读
2评论
本文主要是针对《Mysql技术内幕:InnoDB 存储引擎》一书中第三章关于表相关概念的概括和总结,主要包括组织索引表,InnoDB 逻辑存储结构,InnoDB 行记录格式,InnoDB 数据页结构,表相关的约束问题,视图,表分区。一、索引组织表索引组织表是指按照主键的顺序组织存放数据的表,InnoDB 存储引擎创建的表都是索引组织表。InnoDB 主键定义规则如下:如果定义表时,显
提到在线索引都是商业数据库的功能,例如SQL SERVER 在线索引就是你花钱买的版本也必须是企业版,
原创 2022-06-22 10:14:41
167阅读
8、参照变量 参照变量是指用于存放数值指针的变量。主要有游标变量和对象类型变量两种。 8.1、REF CURSOR(游标变量) 当使用显示游标的时候,您需要在定义显示游标的时候指定相应的SELECT语句,这种显示游标又称为静态游标。 当使用游标变量的时候,不需要指定SELECT语句,而是在打开游标的时候指定,这种游标称为动态游标。-- ex:pl/sql_10 DECLARE TYPE T
提到在线索引都是商业数据库的功能,例如SQL SERVER 在线索引就是你花钱买的版本也必须是企业版, 标准版都不能在线索引POSTGRESQL 支持在线索引的功能,在本文撰写期间MYSQL 是不支持 online add index  对于几千万的大表建立索引还是要使用工具,并且8.0 使用gh ost 是有我问题,所以对于大表加索引并且是8.0的情况还得是 pt-osc.下
原创 2023-06-20 04:07:10
145阅读
  • 1
  • 2
  • 3
  • 4
  • 5