mysql选错娱乐平台源码搭建索引的原因与处理

mysql选错娱乐平台源码搭建《企娥21717 93408》索引的原因与处理
1执行计划预估行数错误
2order by和主键类型不同导致

索引基数
一个索引上不同的值越多,这个索引的区分度就越好。而一个索引上不同的值的个数,我们称之为“基数”(cardinality)。也就是说,这个基数越大,索引的区分度越好。
我们可以使用 show index方法,看到一个索引的基数。
MySQL 是怎样得到索引的基数的呢?  这里,我给你简单介绍一下 MySQL 采样统计的方法。
为什么要采样统计呢?因为把整张表取出来一行行统计,虽然可以得到精确的结果,但是代价太高了,所以只能选择“采样统计”。
采样统计的时候,InnoDB 默认会选择 N 个数据页,统计这些页面上的不同值,得到一个平均值,然后乘以这个索引的页面数,就得到了这个索引的基数。
而数据表是会持续更新的,索引统计信息也不会固定不变。所以,当变更的数据行数超过 1/M 的时候,会自动触发重新做一次索引统计

扫描行数
根据基数来估算每个索引对应的需要扫描行数
explain sql;
对应的rows是mysql预估的扫描条数
analyze table t;重新统计索引的行数

为什么有时会得到错误的扫描行数?

原文地址:https://www.cnblogs.com/wochenfu/p/10148454.html

时间: 2024-09-29 00:11:43

mysql选错娱乐平台源码搭建索引的原因与处理的相关文章

牛来了平台源码搭建开发教程 选择合适你的 Linux 发行版

你想做什么?我将根据常见需求对Linux版本进行分类.牛来了平台源码搭建QQ2189563389请添加链接描述这里有一些重叠的地方,而且如果准备充分的话,这些Linux发行版任何一个都可以满足你的期望需求.Linux的一大优点是允许你随心所欲.但是,归根结底,发行版之间还是有区别的,有些能为你做很多工作,或者某个版本具有更适合针对某个目标的设计.下面我会根据实现目标的最简单途径来对这些发行版分类. 我是刚刚入门的Linux新手有很长一段时间,我会给Linux新手推荐Ubuntu.就易用性和兼容性

五合一平台源码搭建下载

五合一平台源码搭建下载hubawl.com/thread-234-1-1.html 迭代器模式 迭代器模式(Iterator Pattern) 又称游标(Cursor) 模式,是行为型设计模式之一.迭代器模式源于对容器的访问,比如 Java 中的 List.Map.数组等,我们知道对容器对象的访问必然会涉及到遍历算法,我们可以将遍历的方法封装在容器中,或者不提供便利方法.如果我们将便利方法封装在容器中,那么对于容器来说承担了过多的功能,容器类不仅要维护自身内部的数据元素而且还要对外提供遍历的接口

mysql环境下分分彩源码搭建的操作

首先打开分分彩源码搭建数据库(Linux):service mysql start(关闭数据库 service mysql stop)企 娥:217 1793 408window下:net start mysql 然后输入密码:mysql -uroot -p密码 进入mysql后开始操作1.数据库的相关操作 查看所有的数据库 show databases;创建数据库 create database 数据库名;删除数据库 drop database 数据库名:mysql数据库的名称在黑窗口下是无法

C#设计模式之微信H5牛牛出租平台源码搭建模式

在实际的开发过程中,由于应用环境的变化(例如开发微信H5牛牛源码出租平台(h5.fanshubbs.com)的变化),我们需要的实现在新的微信H5牛牛平台扣1687054422中没有现存对象可以满足,但是其他微信H5牛牛平台却存在这样现存的对象.那么如果将"将现存的对象"在新的环境中进行调用呢?解决这个问题的办法就是我们本文要介绍的适配器模式--使得新环境中不需要去重复实现已经存在了的实现而很好地把现有对象(指原来环境中的现有对象)加入到新环境来使用. 二.微信H5牛牛平台适配器模式的

LAMP平台源码搭建

实验环境 [[email protected] ~]# cat /etc/redhat-release CentOS release 6.6 (Final) [[email protected] ~]# uname -rn LAMP 2.6.32-504.el6.x86_64 使用软件 apr-1.5.0.tar.bz2 apr-util-1.5.3.tar.bz2 httpd-2.4.10.tar.bz2 mariadb-5.5.43-linux-x86_64.tar.gz php-5.4.4

源码搭建LNMP

源码安装LNMP 作者:尹正杰 前言:非常简单的一个平台LNMP,在生产实际环节中我们也经常用到! 二话不说,开始享受我们的搭建过程吧! 一.源码安装nginx 1.安装依赖包 [[email protected] yinzhengjie]# yum -y install gcc gcc-c++ autoconf automake zlib zlib-devel openssl openssl-devel pcre* make gd-devel libjpeg-devel libpng-deve

Ubuntu编译源码搭建PHP开发环境

准备源码: 1.mysql的源码:mysql-5.5.15.tar.gz 2.apache的源码:httpd-2.2.19.tar.gz 3.php的源码:php-5.3.6.tar.gz 第一步,安装MySql groupadd mysql                                添加一个mysql用户组useradd -g mysql mysql                  添加一个mysql到用户,此用户属于mysql组 tar -xzvf mysql-5.5.

linux系统中的11选5源码搭建相关命令行

linux目录结构(1)返回上级目录:cd .. 进入你的home目录:cd ~ 使用pwd获取当前路径:pwd (2)linux文件中11选5源码搭建基本操作:企 娥:217 1793 408①新建空白文件eg:touch test 前提是切换到自己的目录下面 ②新建目录:mkdir mydir ③使用cp命令复制一个文件到指定目录:cp test father/son/grandson,复制目录也需要加上-r或者-R ④删除文件eg:rm test,若想删除一些只有读的权限文件,rm会报错,

linux下源码搭建php环境之mysql(一)

现在已经大半夜了,五一劳动节挺无聊的. 折腾一下吧,实在是睡不着.于是乎在电脑上安装个虚拟机,然后呢,在虚拟机上搭建一个php环境. 首先我得安装MYSQL吧.发现遇到的问题真多..待我娓娓道来. 主要介绍linux操作系统下MySQL源码进行纯手动安装,如果你对linux操作系统下MySQL源码进行纯手动安装的实际操作流程感兴趣的话,你不妨浏览以下的文章. 1.实现linux下纯手动MySQL源码安装,首先要下载MySQL的源码,我下载的是MySQL-5.0.87.tar.gz 2.解压tar