`
sb122k
  • 浏览: 65519 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

mysql 索引列类型不同

阅读更多
前几天用python 脚本刷数据,遇见一个奇怪的问题:
运行第一遍一切正常,第二遍时长时间无反应,因为python本身不熟悉,开始以为是资源没有释放,调试了几次,排除了这个问题。

mysql show process,发现有一个sql查询长运行。并确定问题就是这个查询导致。
select a.* from a left join b on a.bid = b.uuid  

大约是这样了
EXPLAIN sql ,发现这个查询中索引没有起作用。我发现这两个索引列的类型不一致,一个是char
一个是varchar,google,baidu良久,没有找到答案.
感谢我的同事,帮我找到一个解决方案
select a.* from a left join b on cast(a.bid as char) = b.uuid  

问题解决,另外,发现有遍文章提到了这个点
http://database.51cto.com/art/200911/165561.htm
分享到:
评论

相关推荐

    MySQL索引面试题+索引优化+索引失效

    首先是选择合适的索引列,通常选择经常用于查询的列作为索引列,尽量避免使用长文本或二进制类型的列作为索引列。其次是合理设置索引的顺序,根据查询的频率和字段选择合适的索引顺序。此外,还可以考虑使用覆盖索引...

    mysql索引失效.docx MySQL索引失效是指在查询执行过程中,数据库无法有效地使用索引来提高查询性能

    非匹配的查询条件:如果查询条件与索引列的顺序不匹配,或者使用了函数或表达式来处理索引列,MySQL可能无法使用索引。比如,如果索引列是"timestamp"类型,但查询条件中使用了函数对该列进行了处理,索引可能失效。...

    MySQL索引不会被用到的情况汇总

    MySQL中索引的类型 一般可分为四类: 普通索引:最普通的索引 唯一索引:索引列的值必须唯一,但允许有空值 主键索引:一种特殊的唯一索引,不允许有空值 联合索引:索引列有多个字段,使用时需要满足最左前缀...

    MySQL索引长度限制原理解析

    这篇文章主要介绍了MySQL索引长度限制原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 索引 TextField是不支持建立索引的 MySQL对索引字段长度有限制 ...

    MySQL索引分析和优化

    MySQL索引分析和优化,介绍了索引的类型,单列索引与多列索引,最左前缀,选择索引

    mysql,查询,索引

    1、MySQL索引原理 2、索引⽬的 3、磁盘IO与预读 4、索引的数据结构 5、详解b+树 6、b+树的查找过程 7、b+树性质 8、慢查询优化 9、建索引的⼏⼤原则 1、最左前缀匹配原则 2、=和in可以乱序 3、尽量选择区分度⾼的...

    MYSQL数据库四种索引类型介绍

     索引列的所有值都只能出现一次,即必须唯一,值可以为空。 普通索引 :   基本的索引类型,值可以为空,没有唯一性的限制。   全文索引:   全文索引的索引类型为FULLTEXT。全文索引可以在varchar、char、text...

    Mysql数据库索引创建、索引删除、索引失效场景详解

    在关系数据库中,索引是一种单独对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的...在MySQL数据库一共支持5种类型的索引和9种索引失效的场景,下面,我来进行一一介绍。

    mysql 索引详细介绍

    在mysql 中,索引可以分为两种类型 hash索引和 btree索引。  什么情况下可以用到B树索引?  1.全值匹配索引  比如: orderID=”123”  2.匹配最左前缀索引查询  比如:在userid 和 date字段上创建联合索引。 ...

    MySQL索引使用说明(单列索引和多列索引)

    可以考虑使用索引的主要有两种类型的列:在Where子句中出现的列,在join子句中出现的列。请看下面这个查询: Select age ## 不使用索引 FROM people Where firstname='Mike' ## 考虑使用索引 AND lastname='...

    mysql面试题,MySQL中有几种索引类型,可以简单说说吗?

    MySQL中有几种索引类型,可以简单说说吗? FULLTEXT :即为全文索引,目前只有MyISAM引擎支持。其可以在CREATE TABLE ,ALTER TABLE ,CREATE INDEX 使用,不过目前只有 CHAR、VARCHAR ,TEXT 列上可以创建全文索引...

    MySQL进阶学习需要掌握的具体内容解析,MySQL数据库如何使用和优化索引.docx

    MySQL支持多种类型的索引,包括B树索引、哈希索引和全文索引等。正确选择索引类型可以显著提高查询性能。例如,如果您需要进行模糊查询,全文索引可能比B树索引更适合。如果您需要进行精确匹配,B树索引可能更好。在...

    Mysql索引类型与基本用法实例分析

    本文实例讲述了Mysql索引...与前面的普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一。 CREATE UNIQUE INDEX indexName ON table(column(length)) – 主键索引

    关于MySQL面试题中有关索引的九大难点全在这里了

    o非聚集索引:非聚集索引就是以非主键创建的索引,在叶子节点存储的是主键和索引列。 逻辑维度 o主键索引:一种特殊的唯一索引,不允许有空值。 o普通索引:MySQL中基本索引类型,允许空值和重复值。 o联合索引:多...

    Mysql面试过关!(详解:索引+常用引擎+常见问题+sql调优)

    一、Mysql索引 1、添加索引sql语句 2、查看MySQL中建立的索引是否生效 3、索引失效场景(补充:以下在实际应用中并不会一定导致索引失效,基于mysql不同版本的优化规则) 3.1 在联合索引的场景下,查询条件不满足最...

    MySQL索引之主键索引

    在MySQL里,主键索引和辅助索引分别是什么意思,有什么区别? 上次的分享我们介绍了聚集索引和非聚集索引的区别,本次我们继续介绍主键索引和辅助索引的区别。 1、主键索引 主键索引,简称主键,原文是PRIMARY KEY,...

    Mysql覆盖索引详解

    1、覆盖索引也并不适用于任意的索引类型,索引必须存储列的值 2、Hash 和full-text索引不存储值,因此MySQL只能使用B-TREE 3、并且不同的存储引擎实现覆盖索引都是不同的 4、并不是所有的存储引擎都支持它们 5、如果...

    Mysql索引详细介绍

    Mysql索引概述 所有MySQL列类型可以被索引。对相关列使用索引是提高SELECT操作性能的最佳途径。根据存储引擎定义每个表的最大索引数和最大索引长度。所有存储引擎支持每个表至少16个索引,总索引长度至少为256字节。...

    Mysql建表与索引使用规范详解

    四、 MySQL建表,不同表之间的相同属性值的字段,列类型,类型长度,是否非空,是否默认值,需保持一致,否则无法正确使用索引进行关联对比。五、 MySQL使用时,一条SQL语句只能使用一个表的一个索引。所有的字段...

    mysql索引必须了解的几个重要问题

    本文讲述了mysql索引必须了解的几个重要问题。分享给大家供大家参考,...只是空间列类型的索引使用R-树,并且MEMORY表还支持hash索引。 2、索引好复杂,我该怎么理解索引,有没一个更形象点的例子? 有,想象一下,你

Global site tag (gtag.js) - Google Analytics