1.背景KS指标来评估模型的区分度(discrimination),风控场景常用指标之一。本文将从区分度的概念、KS的计算方法、业务指导意义、几何解释、数学思想等多个维度展开分析,以期对KS指标有更为深入的理解认知。Part 1. 直观理解区分度的概念在探索性数据分析(EDA)中,若想大致判断自变量x对于因变量y有没有区分度,我们常会分正负样本群体来观察该变量的分布差异,如图1所示。那么,如何判断
转载
2024-06-24 05:27:08
315阅读
什么是EXPLAIN?Explain 命令是查看查询优化器如何决定执行查询的主要方法。学会解释 Explain 命令输出的信息将帮助你了解 MySQL 优化器是如何工作的。什么时候使用 EXPLAIN?在工作中,经常要做一些优化工作,比如优化SQL语句。通常的操作是我们会开启慢查询,让慢查询日志去记录一些执行时间比较长的SQL语句,找出这些SQL语句后,就需要用explain这个命令来查看一个这些
建组合索引的时候,区分度最高的在最左边。 正例:如果 where a=? and b=? ,a 列的几乎接近于唯一值,那么只需要单建 idx_a 索引即 可。 说明:存在非等号和等号混合判断条件时,在建索引时,请把等号条件的列前置。如:where a>? and b=? 那么即使 a 的区分度更高,也必须把 b 放在索引的最前列。区分度是什么首先,组合索引指的是将多个列组合在一起形成的索引,
转载
2024-02-24 18:42:14
283阅读
概述索引分为B树索引和位图索引。我们主要研究B树索引,B树索引如下图(图片源自网络): 索引是与表相关的一个可选结构,在逻辑上和物理上都独立于表数据,索引能优化查询,不能优化DML,oracle自动维护索引,频繁的DML操作反而会引起大量的索引维护。 如果sql语句仅仅访问被索引的列,那么数据库只需从索引中读取数据,而不会读取表;如果该语句还要访问未被索引的列,那么数据库会使用rowid来查找
转载
2024-03-18 08:57:58
74阅读
如何获取有性能问题的SQL1、通过用户反馈获取存在性能问题的SQL2、通过慢查询日志获取性能问题的SQL3、实时获取存在性能问题的SQL使用慢查询日志获取有性能问题的SQL首先介绍下慢查询相关的参数1、slow_query_log 启动定制记录慢查询日志设置的方法,可以通过MySQL命令行设置set global slow_query_log=on或者修改/etc/my.cnf文件,添加slow_
# 实现mysql区分度教程
## 一、整体流程
```mermaid
journey
title 实现mysql区分度
section 开始
开始 --> 创建数据库表
section 创建数据库表
创建数据库表 --> 添加索引
section 添加索引
添加索引 --> 查看区分度
section 查
原创
2024-07-02 04:12:38
24阅读
目录 一、为什么要使用explain语句二、explain各个字段2.1 id1.2 select_type1.3 table1.4 type1.5 possible_keys1.6 key1.7 key_len1.8 ref1.9 rows1.
转载
2023-12-18 21:21:26
34阅读
author:skate time:2013/04/10 mysql索引测试案例 实验条件:mysql> show create table users\G;
*************************** 1. row ***************************
Table: users
Create Table: CREATE
啊呀~忙了好一段时间~数据库的优化说了好久这个学习笔记这里只做个简单归纳, 具体可参看mysql文档 http://dev.mysql.com/doc/refman/5.1/zh/partitioning.html 先来说说分区的一些优点: 1 与单个磁盘或文件系统分区相比,可以存储更多的数据。 2 对于那些已经失去保存意义的数据, 通常可以通过删除与那些数据有关的分区, 很容
MySQL为什么有时候会选错索引?扫描行数是怎么判断的?
MySQL在真正开始执行语句之前,并不能精确地知道满足这个条件的记录有多少条,而只能根据统计信息来估算记录数。
这个统计信息就是索引的“区分度”。显然,一个索引上不同的值越多,这个索引的区分度就越好。而一个索引上不同的值的个数,我们称之为“基数”(cardinality)。也就是说,这个基数越大,索引的区分度越好。
mysql采用的采样统
转载
2023-12-15 17:50:22
75阅读
索引块分裂概念介绍索引中的数据块 按照其作用分为:root block 根块、branch block 枝块、leaf block 叶块。root block根块:根块是索引的入口对于一个索引而言根块的DBA data block address是固定的Branch Block:中间的媒介块, root指向branch ,branch指向 leaf数据格式 Leaf &nbs
简介 在SQL Server中,索引是一种增强式的存在,这意味着,即使没有索引,SQL Server仍然可以实现应有的功能。但索引可以在大多数情况下大大提升查询性能,在OLAP中尤其明显.要完全理解索引的概念,需要了解大量原理性的知识,包括B树,堆,数据库页,区,填充因子,碎片,文件组等等一
面试题:什么是索引? 答:索引是帮助mysql高效获取数据的数据结构;可以得到索引的本质:索引是数据结构;可以理解为“排好序的快速查找数据结构”,这些数据结构以某种方式指向数据,这样就可以在这些数据结构的基础上实现高级查找算法,这种数据结构一般为B树(多路搜索树);索引会影响where和order by后面的排序结果。 (1)索引的优势和劣势 优势:提高数据检索的效率,降低数据库的IO成本,降了数
转载
2023-11-19 13:05:02
91阅读
索引概述MySQL官方堆索引的定义为:索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。索引优势劣势优势类似数据的目录索引,提高数据检索的效率,降低数据库的IO成本。通过索引列对数据进行排序,降低数据排序的成本,降低CP
转载
2023-10-19 17:03:44
70阅读
**索引注意事项**根据区分度,更新频繁判断是否要创建索引。 区分度:count(distinct(列))/count(*) 如果区分度高于80%,则可以建立索引,且区分度越高,如果创建联合索引,应该放在左侧。 如果更新过于频繁的字段不适合建立索引,因为更新会变更b+树,会大大降低索引性能。 如果一个列的前一定长度的字节,便能做到全列索引,可以使用 create index ix_test on
转载
2023-11-14 10:01:02
337阅读
建立索引的原则: 1:查询频繁 2:区分度高 3:长度小 4: 尽量能覆盖常用查询字段. 索引长度:1: 索引越短, 重复度越高,区分度越小, 索引效果越不好2: 索引越长, 重复度越低,区分度越高, 索引效果越好,但带来的影响也越大--索引文件越大,增删改变慢,并且影响查询速度. 所以, 要在 区 ...
转载
2021-08-27 17:16:00
360阅读
2评论
# MySQL 查看索引区分度
## 简介
在使用MySQL进行数据库开发过程中,了解和优化索引是非常重要的一项技能。索引区分度是指索引列上不同值的数量与表中总记录数的比值,用来衡量索引的选择性和效率。通过查看索引区分度,我们可以评估当前索引的使用效果,以及是否需要进行优化。
本文将介绍如何使用MySQL来查看索引区分度,并提供详细的步骤和代码示例。
## 流程图
```mermaid
原创
2023-09-24 00:19:43
209阅读
# MySQL索引区分度评价
在MySQL数据库中,索引是一种能够提高查询效率的数据结构。通过对数据库表中的列创建索引,可以快速定位到符合查询条件的数据,从而加快查询速度。然而,索引的效果取决于索引列的区分度。本文将介绍MySQL索引区分度的评价方法,并通过示例代码演示如何评估索引的区分度。
## 什么是索引区分度
索引区分度是指索引列中不同值的数量与总行数的比例。如果索引列的所有值都是唯一
原创
2024-05-07 04:07:41
214阅读
全值匹配对索引中所有列都指定具体值,该情况下,索引生效,执行效率高。select all from tb_name where name='huawei' and status='1' and address='北京市';最左前缀法则在复合索引中,如果查询了多列,索引需要从最左列开始,且不跳过中间的列。最左前缀索引反例跳过name,status去查adress,同样显示用到的索引(key)为空在查
# MySQL索引区分度不大:深入理解索引的效果
在关系型数据库中,索引是一个非常重要的概念。它通过提高数据检索的速度来提升数据库的性能。然而,并不是所有的索引都有良好的效果,特别是当索引的区分度不大时。本文将深入探讨这一主题,并通过示例代码和图表进行说明。
## 什么是索引?
在数据库中,索引是一个数据结构,它能快速地查找表中的记录。可以把索引想象成书籍的目录,通过目录可以快速找到特定内容