首页 > 数据库 >Mysql踩过的坑 索引失效 隐式类型转换

Mysql踩过的坑 索引失效 隐式类型转换

时间:2022-08-29 15:17:17浏览次数:75  
标签:类型转换 utf8mb4 字符集 索引 Mysql 失效 隐式

## 博主所在项目, 2期项目是mysql5.6版本, 其使用的字符集是utf8
在3期项目进行开发的时候, 有一部分现成的表直接拷贝过来3期项目去使用
3期项目mysql版本是8.0.20 
默认约束使用的字符集是utf8mb4
在使用连表查询的时候, 发现无法走索引 虽然都是varchar类型, 但是因为字符集的问题导致了索引失效
因为即使是同样的varchar类型, utf8是3个bit一个字节, 而utf8mb4是4个bit一个字节
产生了隐式的类型转换
修改2期表的字符集为utf8mb4后, 果然连表查询快了许多~

标签:类型转换,utf8mb4,字符集,索引,Mysql,失效,隐式
From: https://www.cnblogs.com/toming4u/p/16635992.html

相关文章

  • mysql varchar 和 sqlserver varchar 的区别
    mysql4.0版本以下,varchar(20),指的是20字节,如果存放UTF8汉字时,只能存6个(每个汉字3字节)5.0版本以上,varchar(20),指的是20字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字......
  • mysql数据库定期备份
    #!/bin/bashusername='xxxx'#数据库用户名passw='xxxxx'#密码date_ymd=`date+%Y_%m_%d`#年月日date_hms=`date+%H%M%S`#时分秒filedir='/root/data_backup/'#备份......
  • DataGrip连接Mysql报08S01解决方案
    以前正常使用的GataGrip,突然在某天报下面的错误提示:08S01[08S01]CommunicationslinkfailureThelastpacketsentsuccessfullytotheserverwas0milli......
  • Flink自定义MySQLSink批量写入出现死锁解决
    一、错误日志Cause:java.sql.SQLException:Lockwaittimeoutexceeded;tryrestartingtransaction;二、原因分析在同一批次、同一事务中操作相同主键的数据,......
  • MySQL--redo log
                ......
  • mysql的时间戳函数from_unixtime函数
    参考:https://www.cnblogs.com/lsz-lsc/p/12802015.html时间戳转为时间:from_unixtime(unixtime,format),其中unixtime必须为整型(bigint),d若时间为秒时是10位,时间为毫秒时为......
  • MySQL远程连接不上的解决方法
    1.排除网络或防火墙问题先看是否能ping通远程服务器,ping192.168.1.211,如果不可以就是网络问题。然后,检查端口是否被防火墙挡住了,telnet192.168.1.2113306,如果连接失败,......
  • mysql配置文件相关
    公司数据库从WINDOWS迁移到LINUX发现连接时报错.大概意思是不支持分组查询.后来网上查询说是需在配置文件中增加如下内容,更改SQL_MODE.sql_mode=STRICT_TRANS_TABLES,......
  • mysql导入.idb文件进行修复数据库
    背景:数据库在运行过程中出现了问题,需要根据*.idb文件进行找回数据操作步骤:1)先创建一个同样数据格式的表(之前存在的话备份删除,最好先在新的数据库中走一遍流程)--......
  • MySQL性能优化
    安装连接        查看当前系统的资源使用情况top查看系统IO状态可以查看当前哪个磁盘设备总体的读写流量大小iostat-d-x1pidstat-d1......