四时宝库

程序员的知识宝库

千万级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树上的复合索引结构?接下来就到了如何创建复合索引的问题。

关于SQL Server中字段无法创建索引/约束问题的解决

之前都是用的Oracle,刚接触SQL Server不久,各种不习惯:今天遇到nvarchar(MAX)类型字段无法建立索引/约束的问题,记录一下:

起因

在一个Asp.net MVC项目中,需要给框架内置的Identity库中表AspNetUsers的PhoneNumber字段添加唯一性约束,但在Microsoft SQL Server Management Studio中设置时,却无法选择到PhoneNumber字段,同时发现其他长度为MAX的字段也无法选择(如下图):

只需一个联合索引?一条sql就可以由450s减为0.4s?

概述

最近开发说某个接口跑的很慢,排查了下发现其中一条sql,数据量不大,但居然要跑451s,下面简单记录一下优化的过程。


问题sql

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

sql优化实例分享--重建索引,cost由56022降为3?

概述

每个人都有自己优化sql的一些方式,这里主要记录一下我平时sql优化的大概过程,有改进的地方大家帮忙指点下。


问题sql

SQL(4kn1d3t4g6bq7) 在采样期平均单次执行逻辑读为 206338.55, 其最新执行计划涉及 3 个对象,平均单个对象的逻辑读较大。

在其最新执行计划中,发现较差的执行步骤:

SQL中的CREATE INDEX语句:优化查询速度的利器

本文将介绍SQL中的CREATE INDEX语句,以及如何使用它来提高数据库查询速度。通过具体的示例,我们将深入了解CREATE INDEX语句的用法和注意事项。

一、引言

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