四时宝库

程序员的知识宝库

Oracle数据库知识 day02 索引&pl/sql语法&存储过程&触发器

一、视图

1.1 概念: 视图就是封装了一条复杂查询的语句。


1.2 语法:

CREATE VIEW 视图名称 AS 子查询

CREATE OR REPLACE VIEW 视图名称 AS 子查询:如果视图已经存在我们可以使用语法 2 来创建视图,这样已有的视图会被覆盖。

第21期:索引设计(函数索引)(索引函数数学公式)

本篇主要介绍 MySQL 的函数索引(也叫表达式索引)。

通常来讲,索引都是基于字段本身或者字段前缀(第 20 篇),而函数索引是基于字段本身加上函数、操作符、表达式等计算而来。如果将表达式或者操作符也看做函数的话,简单来说,这样的索引就可以统称函数索引。

MySQL 的函数索引内部是基于虚拟列(generated columns)实现,不同于直接定义虚拟列,函数索引自动创建的虚拟列本身实时计算结果,并不存储数据,只把函数索引本身存在磁盘上。

明明使用了索引,为何索引失效了?SQL索引失效场景及优化方法

在实际测试过程中对产品进行性能分析时,经常发现因缺少索引导致上层业务性能出现问题,甚至有的表一个索引都没有。

这种情况往往都是因为在设计表时,没有根据实际业务应用、数据体量等进行分析、设计。同时由于在产品开发阶段,由于开发、测试环节数据量少,索引的创建与否对于性能的影响并不明显,容易忽略其中性能风险。然而一旦发布到生产环境,随着时间推移,数据量、用户基数不断增加,暴露性能问题的风险也逐渐增大。

同时,索引创建并且用到了索引字段,但并不意味着真正使用了索引,本文主要从如何避免索引失效的角度,介绍SQL性能优化。

PostgreSQL CREATE 命令:创建自定义表结构

PostgreSQL 提供 CREATE 命令,用于创建表和自定义数据类型。 CREATE 命令允许您定义表结构,并指定表中列的名称、数据类型和约束条件。

CREATE 命令语法

```sql

CREATE TABLE table_name (

column_name data_type [NOT NULL] [DEFAULT value] [PRIMARY KEY],

千万级MySQL数据库建立索引,提高性能的秘诀

实践中如何优化MySQL

实践中,MySQL的优化主要涉及SQL语句及索引的优化、数据表结构的优化、系统配置的优化和硬件的优化四个方面,如下图所示:



SQL语句及索引的优化

SQL语句的优化

SQL语句的优化主要包括三个问题,即如何发现有问题的SQL、如何分析SQL的执行计划以及如何优化SQL,下面将逐一解释。

数据库分库分表、读写分离的原理和实现,以及使用场景

为什么要分库分表和读写分离?

类似淘宝网这样的网站,海量数据的存储和访问成为了系统设计的瓶颈问题,日益增长的业务数据,无疑对数据库造成了相当大的负载,同时对于系统的稳定性和扩展性提出很高的要求。随着时间和业务的发展,数据库中的表会越来越多,表中的数据量也会越来越大,相应地,数据操作的开销也会越来越大;另外,无论怎样升级硬件资源,单台服务器的资源(CPU、磁盘、内存、网络IO、事务数、连接数)总是有限的,最终数据库所能承载的数据量、数据处理能力都将遭遇瓶颈。分表、分库和读写分离可以有效地减小单台数据库的压力。

PostgreSQL 索引(postgresql是国产数据库吗)

PostgreSQL 提供多种索引类型,以提高性能和效率。索引是一种数据结构,用于快速查找和访问表中的数据。

创建索引

* 索引可以为任何非 NULL 字段创建。

* 可以为多个字段创建多个索引。

索引类型

* B 树索引:用于排序值和排序的非唯一值。

Oracle数据库之索引(oracle数据库索引增大速度过快)

1 索引简介

  • 索引是与表相关的一个可选结构
  • 用以提高 SQL 语句执行的性能
  • 减少磁盘I/O
  • 使用 CREATE INDEX 语句创建索引
  • 在逻辑上和物理上都独立于表的数据 Oracle 自动维护索引

索引有各种类型,除了标准索引外,还有一些特殊类型的索引:

2 索引创建修改删除

创建标准索引

数据库:全文索引实现技巧,架构师是这样实现的

全文检索并没有你想象中的难,创建全文检索的核心思路是:初始化索引环境,为表字段创建索引,通过分词处理搜索文本,匹配索引中的词汇与记录行,最后根据匹配结果构建并返回相关数据。

如何建Oracle复合索引?前导列选择?字段区分度?

复合索引

复合索引顾名思义,区别于单列索引,是由两个或多个列一起构成的索引。其在B树上的数据结构是什么样?如下图,是一个包含两列的复合索引。

如果你观察仔细,还会发现它的叶子节点是ASC递增排序的。现根据第一个值排序,然后根据第二个值排序。查的时候也一样,先查第一个值,在查第二个值。可以想象三个列组成的复合索引数据结构该是什么样的。

在实际创建表时,一开始,只会创建一个主键id,oracle会为主键默认创建索引。随着经验的增加,开始去考虑性能,会开始研究索引,比如查询报表、订单等业务场景。这时候多多少少都会创建索引了,然后开始研究复合索引。复合索引首先带来的问题是你如何在脑海中构建一个B树上的复合索引结构?接下来就到了如何创建复合索引的问题。

<< 1 2 3 4 > >>
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接