大家好,我是闲水,每天更新java最新最热技术,对java感兴趣的朋友记得关注一下哦。
注意 :这是SQL性能优化第三章,点击关注查看前置内容。
上篇文章我们主要了解了索引优化的标尺"Explain"怎么用,这一张,我们就要将索引怎么建立,以及索引失效的例子了。废话不多说我们开始。
一 单表查询建立索引
系统中经常出现的sql语句如下: ( SQL_NO_CACHE 是不查找缓存,以免对我们的结果造成影响)
2024年09月11日
大家好,我是闲水,每天更新java最新最热技术,对java感兴趣的朋友记得关注一下哦。
注意 :这是SQL性能优化第三章,点击关注查看前置内容。
上篇文章我们主要了解了索引优化的标尺"Explain"怎么用,这一张,我们就要将索引怎么建立,以及索引失效的例子了。废话不多说我们开始。
一 单表查询建立索引
系统中经常出现的sql语句如下: ( SQL_NO_CACHE 是不查找缓存,以免对我们的结果造成影响)
2024年09月11日
一、模式的定义与删除
1.定义模式
CREATE SCHEMA <模式名> AUTHORIZATION <用户名>
如果没有指定<模式名>,那么<模式名>隐含为<用户名>
例如:定义一个学生—课程模式S-T
2024年09月11日
上一篇我们聊了B+树是什么,innodb为什么选择了B+树,接下来我们来看看innodb是如何使用B+树这个数据结构来组织数据的。
聚集索引
聚集索引,也有的书将它翻译为聚簇索引。innodb的数据按照主键(没有主键则为第一个设置的候选码,没有候选码则为隐藏字段rowid)的顺序存放在B+树中,所以innodb存储引擎表又叫索引组织表。在这颗B+树中,叶子节点存放行记录数据,这颗
2024年09月11日
当我们在分析某些语句的性能时,会分析一些信息。像表、列、索引、直方图等等,所以今天主要讲表与列、索引的统计信息收集与分析。
表统计:
--行数,块数,行平均长度;
--all_tables:NUM_ROWS,BLOCKS,AVG_ROW_LEN;
列统计:
--列中唯一值的数量(NDV),NULL值的数量,数据分布;
2024年09月11日
我们知道,不借助额外空间的情况下,在链表中查找一个值,需要按照顺序一个个查找,时间复杂度为 O(N),其中 N 为链表长度。
当链表长度很大的时候, 这种时间是很难接受的。 一种常见的的优化方式是建立哈希表,将所有节点都放到哈希表中,以空间换时间的方式减少时间复杂度,这种做法时间复杂度为 O(1),但是空间复杂度为 O(N)。
为了防止链表中出现重复节点带来的问题,我们需要序列化节点,再建立哈希表,这种空间占用会更高,虽然只是系数级别的增加,但是这种开销也是不小的 。更重要的是,哈希表不能解决查找极值的问题,其仅适合根据 key 来获取内容。
2024年09月11日
show create table users;
show index from users;
show keys from users;
均可以查询users表的索引信息,如下图
show index from users\G
show index from users
说明:
2024年09月11日
当我们在分析某些语句的性能时,会分析一些信息。像表、列、索引、直方图等等,所以今天主要讲表与列、索引的统计信息收集与分析。
表统计:
--行数,块数,行平均长度;
--all_tables:NUM_ROWS,BLOCKS,AVG_ROW_LEN;
列统计:
--列中唯一值的数量(NDV),NULL值的数量,数据分布;
2024年09月11日
2024年09月11日
在工作中有很多工作,同时需要我们建立许多表格,但是这样没有一个明确的目录的话,我们要花费一定的时间在表格中翻找,这样就大大浪费了时间,想要做一个目录方便我们快速查找呢?
1,打开一个excel工作薄,先建立一些工作表来举例,如图:
2,在第一个工作表上点击右键,选择插入命令,然后重命名为【索引目录】。
3,点击选中【索引目录】工作表中的B1单元格,然后点击菜单【公式】中的定义名称。
2024年09月11日
今天主要分享一下postgresql怎么去查看数据库,表,索引,表空间以及大小,适合平时PG运维的朋友。
postgres=# \l --查看所有数据库 postgres=# select pg_database_size('hwb'); --查看单个数据库的大小 postgres=# select pg_database.datname, pg_database_size(pg_database.datname) AS size from pg_database; --查看所有数据库的大小 postgres=# select pg_size_pretty(pg_database_size('hwb')); --以KB,MB,GB的方式来查看数据库大小