四时宝库

程序员的知识宝库

如何收集ORACLE表统计信息与列统计信息、索引统计信息

概述

当我们在分析某些语句的性能时,会分析一些信息。像表、列、索引、直方图等等,所以今天主要讲表与列、索引的统计信息收集与分析。


关注点

表统计:

--行数,块数,行平均长度;

--all_tables:NUM_ROWS,BLOCKS,AVG_ROW_LEN;

列统计:

--列中唯一值的数量(NDV),NULL值的数量,数据分布;

数据结构之跳表:链表+索引表,解决链表查找效率低的问题

我们知道,不借助额外空间的情况下,在链表中查找一个值,需要按照顺序一个个查找,时间复杂度为 O(N),其中 N 为链表长度。

当链表长度很大的时候, 这种时间是很难接受的。 一种常见的的优化方式是建立哈希表,将所有节点都放到哈希表中,以空间换时间的方式减少时间复杂度,这种做法时间复杂度为 O(1),但是空间复杂度为 O(N)。

为了防止链表中出现重复节点带来的问题,我们需要序列化节点,再建立哈希表,这种空间占用会更高,虽然只是系数级别的增加,但是这种开销也是不小的 。更重要的是,哈希表不能解决查找极值的问题,其仅适合根据 key 来获取内容。

mysql 表索引(mysql表索引数量)

查询方式

show create table users;

show index from users;

show keys from users;

均可以查询users表的索引信息,如下图

show index from users\G

show index from users

说明:

超详细的收集和查看ORACLE表统计信息与列统计信息、索引统计信息

概述

当我们在分析某些语句的性能时,会分析一些信息。像表、列、索引、直方图等等,所以今天主要讲表与列、索引的统计信息收集与分析。


关注点

表统计:

--行数,块数,行平均长度;

--all_tables:NUM_ROWS,BLOCKS,AVG_ROW_LEN;

列统计:

--列中唯一值的数量(NDV),NULL值的数量,数据分布;

资料总结|Oracle基础维护——表、主键、索引、表结构维护手册

一、项目新建表、主键、索引注意事项

  1. 需要显示指定表和索引所属表空间
  2. 表是否分区根据业务实际需求确定,一般单表数据量超过千万以上,并有周期性删除历史数据需求的表需要考虑使用分区表。
  3. 主键默认就包含了一个唯一性索引,同样需要注意所属表空间问题。


二、建表、主建、索引的操作方法

建立工作表“目录索引”,一键找到表格

在工作中有很多工作,同时需要我们建立许多表格,但是这样没有一个明确的目录的话,我们要花费一定的时间在表格中翻找,这样就大大浪费了时间,想要做一个目录方便我们快速查找呢?

1,打开一个excel工作薄,先建立一些工作表来举例,如图:

2,在第一个工作表上点击右键,选择插入命令,然后重命名为【索引目录】。

3,点击选中【索引目录】工作表中的B1单元格,然后点击菜单【公式】中的定义名称。

PG日常运维--统计数据库,表,索引,表空间以及大小

概述

今天主要分享一下postgresql怎么去查看数据库,表,索引,表空间以及大小,适合平时PG运维的朋友。


1、查看数据库

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的方式来查看数据库大小

如何用postgresql查看数据库,表,索引,表空间以及大小

概述

今天主要分享一下postgresql怎么去查看数据库,表,索引,表空间以及大小,适合平时PG运维的朋友。


1、查看数据库

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的方式来查看数据库大小

如何避免回表查询?什么是索引覆盖?

《迅猛定位低效SQL?》留了一个尾巴:

select id,name where name='shenjian'

select id,name,sex where name='shenjian'

多查询了一个属性,为何检索过程完全不同?

工作表太多?用Excel的检查功能,1分钟轻松制作目录

工作表一多,查阅起来就不是很方便。如果能生成一个目录,点击工作表名,就能跳转到相应的工作表,给老板的文件资料瞬间就清晰了。

今天就和大家分享,如何用Excel的“检查功能”制作目录。

生成目录索引

?全选工作表格:点击要生成目录的第一个工作表→按住Shift键,点击要生成目录的最后一个工做表

?生成索引:在A1单元格前,插入一列,输入公式【=xdf1】→按Enter键。

生成目录

?点击【文件】→选择【信息】中的【检查工作簿】→点击【检查兼容性】

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