今天优化数据库的慢查询,有一条Sql让我百思不得其jie,就是他了。

SELECT * FROM test WHERE user_id=1;

explain 去分析一下

索引都有了,为什么还要扫描全表呢?类似的情况,有在哪闪现过,就去查看表结构,原来user_id这个字段是字符类型,做个记录,以免日后再犯傻。

以下是用不到索引的几种情况
  • 表字段用的字符串类型,查询的也应该是字符类型
  • LIKE 查询
  • 对字段进行NULL判断
  • 使用OR关键字查询,使用UNION代替OR

Mysql 字段类型与查询类型不一致导致索引使用失败的更多相关文章

  1. mysql性能优化-慢查询分析、优化索引和配置 (慢查询日志,explain,profile)

    mysql性能优化-慢查询分析.优化索引和配置 (慢查询日志,explain,profile) 一.优化概述 二.查询与索引优化分析 1性能瓶颈定位 Show命令 慢查询日志 explain分析查询 ...

  2. mysql性能优化-慢查询分析、优化索引和配置

    一.优化概述 二.查询与索引优化分析 1性能瓶颈定位 Show命令 慢查询日志 explain分析查询 profiling分析查询 2索引及查询优化 三.配置优化 1)      max_connec ...

  3. [转]mysql性能优化-慢查询分析、优化索引和配置

    一. 优化概述 MySQL数据库是常见的两个瓶颈是CPU和I/O的瓶颈,CPU在饱和的时候一般发生在数据装入内存或从磁盘上读取数据时候.磁盘I/O瓶颈发生在装入数据远大于内存容量的时候,如果应用分布在 ...

  4. mysql性能优化-慢查询分析、优化索引和配置【转】

    一.优化概述 二.查询与索引优化分析 1性能瓶颈定位 Show命令 慢查询日志 explain分析查询 profiling分析查询 2索引及查询优化 三.配置优化 1)      max_connec ...

  5. mysql性能优化-慢查询分析、优化索引和配置 MySQL索引介绍

    MySQL索引介绍 聚集索引(Clustered Index)----叶子节点存放整行记录辅助索引(Secondary Index)----叶子节点存放row identifier-------Inn ...

  6. 9.mysql性能优化-慢查询分析、优化索引和配置

    目录 一.优化概述 二.查询与索引优化分析 1性能瓶颈定位 Show命令 慢查询日志 explain分析查询 profiling分析查询 2索引及查询优化 三.配置优化 max_connections ...

  7. Mysql中字段类型不一致导致索引无效

    修改后 详细见楼下链接 http://ustb80.blog.51cto.com/6139482/1287847

  8. 解决redis集群版本不一致导致RDB同步失败的问题

    某天,运维反馈某两个机房的出口流量和入口流量过大,并且持续了好一段时间. 再仔细排查后发现是 redis 集群的几台服流量问题,于是开始查日志. 在日志中发现出现大量的 Can't handle RD ...

  9. 详细讲述MySQL中的子查询操作 (来自脚本之家)

    继续做以下的前期准备工作: 新建一个测试数据库TestDB: ? 1 create database TestDB; 创建测试表table1和table2: ? 1 2 3 4 5 6 7 8 9 1 ...

随机推荐

  1. hiho #1043 : 完全背包

    01背包和完全背包解析 在上一节的01背包中,每种物品只能使用一次. 初始化j=V,逆序推能够保证 dp[v-c[i]] 保存的是状态是 dp[i-1][v-c[i]] ,也就是每个物品只被使用了一次 ...

  2. react-报错-1

    react 错误提示:显示IP端口被占用

  3. python selenium 笔记

    1.安装环境  下载python 3.6.4 第一页把最下面的环境变量勾上.第二页把 all user  勾上  直接安装到下一步 安装完成之后 cmd直接输入python  可以看到版本 2.安装  ...

  4. Linux 下的tmpfs文件系统(/dev/shm)

    介绍 /dev/shm/是一个使用就是tmpfs文件系统的设备,其实就是一个特殊的文件系统.redhat中默认大小为物理内存的一半,使用时不用mkfs格式化. tmpfs是Linux/Unix系统上的 ...

  5. JAVA 获取类名,函数名

    获取以下获取方法所在函数的相关信息 1.获取当前函数名:Thread.currentThread().getStackTrace()[1].getMethodName(); 2.获取当前类名:Thre ...

  6. BZOJ 3697: 采药人的路径 点分治

    好久不做点分治的题了,正好在联赛之前抓紧复习一下. 先把边权为 $0$ 的置为 $-1$.定义几个状态:$f[dis][0/1],g[dis][0/1]$ 其中 $f$ 代表在当前遍历的子树内的答案. ...

  7. #pragma once vs #ifndef

    最后编辑: 2019-11-20 #pragma once 是一个非标准但被广泛支持的预处理符号, 其主要作用是防止文件重复引入问题. 在头文件中,可以定义 #pragma once 或者 #ifnd ...

  8. Linux系统下MySql表名大小写敏感问题

    mysql是通过lower_case_table_names变量来处理大小写问题的. 首先查询该变量 mysql在Linux下数据库名.表名.列名.表别名大小写规则如下: 1.数据库名与表名严格区分大 ...

  9. 套接字选项 之 SO_REUSEADDR && SO_REUSEPORT

    说明 本文下面内容基本上是截取自stackoverflow,针对这两个选项,在另外一篇文章中做了总结,请移步<Linux TCP套接字选项 之 SO_REUSEADDR && S ...

  10. Redis数据类型,面试相关

    1.Redis最为常用的数据类型主要有以下几种 String Hash List (消息队列) Set (可以用于存储不重复的列表数据) Sorted Set (有序不重复数的列表数据) Pub/Su ...