#微博公开课##IT研究所#
【Python数据分组统计】
【groupby()用法图解】
[星星]pandas中DataFrame提供了一个灵活高效的groupby功能,它使你能以一种自然的方式对数据集进行切片、切块、摘要等操作。根据一个或多个键(可以是函数、数组或DataFrame列名)拆分pandas对象。计算分组摘要统计,如计数、平均值、标准差,或用户自定义函数。对DataFrame的列应用各种各样的函数。应用组内转换或其他运算,如规格化、线性回归、排名或选取子集等。计算透视表或交叉表。执行分位数分析以及其他分组分析。
[星星]groupby分组函数:
返回值:返回重构格式的DataFrame,特别注意,groupby里面的字段内的数据重构后都会变成索引
【Python数据分组统计】
【groupby()用法图解】
[星星]pandas中DataFrame提供了一个灵活高效的groupby功能,它使你能以一种自然的方式对数据集进行切片、切块、摘要等操作。根据一个或多个键(可以是函数、数组或DataFrame列名)拆分pandas对象。计算分组摘要统计,如计数、平均值、标准差,或用户自定义函数。对DataFrame的列应用各种各样的函数。应用组内转换或其他运算,如规格化、线性回归、排名或选取子集等。计算透视表或交叉表。执行分位数分析以及其他分组分析。
[星星]groupby分组函数:
返回值:返回重构格式的DataFrame,特别注意,groupby里面的字段内的数据重构后都会变成索引
#Oracle Database 19c Automatic indexing#
Automatic indexing是Oracle Database 19c开始新增加的特性,从字面上很容易理解,就是依据应用负载的变化自动/动态地进行索引的管理任务,比如创建(create index)、重构(rebuild index)和删除(drop index),从而提高数据库性能,这个特性也是Oracle 自治数据库云服务自我优化的一个基础。
索引从一开始就是数据库性能的一个基本特性, 尽管在并行、分区、压缩、物化视图以及内存列等其他性能特性方面有了很大的进步,但索引仍然是OLTP甚至OLAP中都离不开的关键特性。过去的经历大家都有深刻的体会,创建合适的索引其实是蛮有挑战的,它需要我们对数据模型、应用程序以及数据分布有深入的了解, 还需要对数据库系统的内部结构有一定的了解(例如查询优化、缓存区管理等),同时辅助各种Advisor(比如Index Advisor, Partition Advisor, In-Memory Advisor等),靠经验丰富的DBA来完成。 现实中,无论优化人员多么的技术熟练,但往往当对数据模型、应用程序代码或数据分布进行修改时,他/她却很少修改索引的选择,所以我们经常会看到很多不必要的索引或不合适的索引导致的性能问题。Automatic indexing将这个复杂的处理实现了自动化,基于手动SQL调优的常用方法,通过构建内置的专家系统,自动捕获SQL(Capture)、识别候选索引(Identify Candidates)、验证(Verify)、决策(Decide)、在线验证(Online Validation)、监控(Monitor)等方法将索引的管理实现了自动化,这个过程并不简单。是不是很酷?
附图是我初步体验下的一个简单笔记,仅供大家参阅。[微笑]
Automatic indexing是Oracle Database 19c开始新增加的特性,从字面上很容易理解,就是依据应用负载的变化自动/动态地进行索引的管理任务,比如创建(create index)、重构(rebuild index)和删除(drop index),从而提高数据库性能,这个特性也是Oracle 自治数据库云服务自我优化的一个基础。
索引从一开始就是数据库性能的一个基本特性, 尽管在并行、分区、压缩、物化视图以及内存列等其他性能特性方面有了很大的进步,但索引仍然是OLTP甚至OLAP中都离不开的关键特性。过去的经历大家都有深刻的体会,创建合适的索引其实是蛮有挑战的,它需要我们对数据模型、应用程序以及数据分布有深入的了解, 还需要对数据库系统的内部结构有一定的了解(例如查询优化、缓存区管理等),同时辅助各种Advisor(比如Index Advisor, Partition Advisor, In-Memory Advisor等),靠经验丰富的DBA来完成。 现实中,无论优化人员多么的技术熟练,但往往当对数据模型、应用程序代码或数据分布进行修改时,他/她却很少修改索引的选择,所以我们经常会看到很多不必要的索引或不合适的索引导致的性能问题。Automatic indexing将这个复杂的处理实现了自动化,基于手动SQL调优的常用方法,通过构建内置的专家系统,自动捕获SQL(Capture)、识别候选索引(Identify Candidates)、验证(Verify)、决策(Decide)、在线验证(Online Validation)、监控(Monitor)等方法将索引的管理实现了自动化,这个过程并不简单。是不是很酷?
附图是我初步体验下的一个简单笔记,仅供大家参阅。[微笑]
通过重构改善数据库设计
☞重构种类(上)
①重构→关键重点:通过重构,数据库的设计会越来越完美→设计无意义的重构→浪费时间
⑴索引的添加和删除→无需修改任何请求语句即可完成
①索引→如何执行查询语句
②添加删除索引→不改变逻辑意义→仅限于主键和唯一键这样不包含唯一性约束的情况
⑵修改列名→迁移过程中,列名不同数据相同→用触发器保持相同
⑶导入NOT NULL约束→重点:判断这个列能否设置为NOT NULL
①判断的条件→该列在现有的所有行中都不是NULL,或者有NULL的行可以代入某个合适的默认值
②“在某个时间点之前该列是不需要的,所以至今都初始化为NULL”→不是把这个列变为NOT NULL→应将其分割成别的表格
目标表格:关系模型范畴→规范化工作有意义→非关系模型→无需拘泥于NOT NULL约束→重点:变成了确认是否应该适应关系模型
③仅增加NOT NULL约束→无需数据迁移,无需修改应用程序
④需要设置默认值→查询语句修改为在默认值和NULL的情况下→获得相同的结果比较好
☞重构种类(上)
①重构→关键重点:通过重构,数据库的设计会越来越完美→设计无意义的重构→浪费时间
⑴索引的添加和删除→无需修改任何请求语句即可完成
①索引→如何执行查询语句
②添加删除索引→不改变逻辑意义→仅限于主键和唯一键这样不包含唯一性约束的情况
⑵修改列名→迁移过程中,列名不同数据相同→用触发器保持相同
⑶导入NOT NULL约束→重点:判断这个列能否设置为NOT NULL
①判断的条件→该列在现有的所有行中都不是NULL,或者有NULL的行可以代入某个合适的默认值
②“在某个时间点之前该列是不需要的,所以至今都初始化为NULL”→不是把这个列变为NOT NULL→应将其分割成别的表格
目标表格:关系模型范畴→规范化工作有意义→非关系模型→无需拘泥于NOT NULL约束→重点:变成了确认是否应该适应关系模型
③仅增加NOT NULL约束→无需数据迁移,无需修改应用程序
④需要设置默认值→查询语句修改为在默认值和NULL的情况下→获得相同的结果比较好
✋热门推荐