PostgreSQL 提供多种索引类型,以提高性能和效率。索引是一种数据结构,用于快速查找和访问表中的数据。
创建索引
* 索引可以为任何非 NULL 字段创建。
* 可以为多个字段创建多个索引。
索引类型
* B 树索引:用于排序值和排序的非唯一值。
2024年10月06日
PostgreSQL 提供多种索引类型,以提高性能和效率。索引是一种数据结构,用于快速查找和访问表中的数据。
创建索引
* 索引可以为任何非 NULL 字段创建。
* 可以为多个字段创建多个索引。
索引类型
* B 树索引:用于排序值和排序的非唯一值。
2024年10月06日
索引有各种类型,除了标准索引外,还有一些特殊类型的索引:
创建标准索引
2024年10月06日
全文检索并没有你想象中的难,创建全文检索的核心思路是:初始化索引环境,为表字段创建索引,通过分词处理搜索文本,匹配索引中的词汇与记录行,最后根据匹配结果构建并返回相关数据。
2024年10月06日
复合索引顾名思义,区别于单列索引,是由两个或多个列一起构成的索引。其在B树上的数据结构是什么样?如下图,是一个包含两列的复合索引。
如果你观察仔细,还会发现它的叶子节点是ASC递增排序的。现根据第一个值排序,然后根据第二个值排序。查的时候也一样,先查第一个值,在查第二个值。可以想象三个列组成的复合索引数据结构该是什么样的。
在实际创建表时,一开始,只会创建一个主键id,oracle会为主键默认创建索引。随着经验的增加,开始去考虑性能,会开始研究索引,比如查询报表、订单等业务场景。这时候多多少少都会创建索引了,然后开始研究复合索引。复合索引首先带来的问题是你如何在脑海中构建一个B树上的复合索引结构?接下来就到了如何创建复合索引的问题。
2024年10月06日
之前都是用的Oracle,刚接触SQL Server不久,各种不习惯:今天遇到nvarchar(MAX)类型字段无法建立索引/约束的问题,记录一下:
起因
在一个Asp.net MVC项目中,需要给框架内置的Identity库中表AspNetUsers的PhoneNumber字段添加唯一性约束,但在Microsoft SQL Server Management Studio中设置时,却无法选择到PhoneNumber字段,同时发现其他长度为MAX的字段也无法选择(如下图):
2024年10月06日
最近开发说某个接口跑的很慢,排查了下发现其中一条sql,数据量不大,但居然要跑451s,下面简单记录一下优化的过程。
SELECT l.location_gid ENUMVALUE, l.location_name DISPVALUE FROM servprov s, location l WHERE s.domain_name = 'FSL2' AND s.servprov_gid = l.location_gid AND EXISTS (SELECT 1 FROM fsl2_fee_split f WHERE f.servprov_gid = l.location_gid AND start_time > SYSDATE - 60) ORDER BY 1 DESC, 2
2024年10月06日
每个人都有自己优化sql的一些方式,这里主要记录一下我平时sql优化的大概过程,有改进的地方大家帮忙指点下。
SQL(4kn1d3t4g6bq7) 在采样期平均单次执行逻辑读为 206338.55, 其最新执行计划涉及 3 个对象,平均单个对象的逻辑读较大。
在其最新执行计划中,发现较差的执行步骤:
2024年10月06日
本文将介绍SQL中的CREATE INDEX语句,以及如何使用它来提高数据库查询速度。通过具体的示例,我们将深入了解CREATE INDEX语句的用法和注意事项。
一、引言
2024年10月06日
多元索引是表格存储产品中一个重要的功能,多元索引使用倒排索引技术为表格存储提供了非主键列上的快速检索功能,另外也提供了统计聚合功能。表格存储近期开放了SQL查询功能,SQL引擎默认从原始表格中读取数据,非主键列上的查询需要扫描全表。开启了多元索引之后,如果一个查询的过滤条件或者统计聚合可以下推至多元索引执行,那么SQL引擎将部分查询计划转换为多元索引请求,将从多元索引中获取数据,提高查询效率。
2024年10月06日
本文来自博客园:马非码,本文共5450字符。
以下这篇文章是从一个问题的解决过程去写的,而不是一开始就给大家一个正确的结果,如果文中有不对的地方,请各位数据库大牛给予指正,以便我能够更好的处理此次业务。
这是给某数据中心做的一个项目,项目难度之大令人发指,这个项目真正的让我感觉到了,商场如战场,而我只是其中的一个小兵,太多的战术,太多的高层之间的较量,太多的内幕了。具体这个项目的情况,我有空再写相关的博文出来。