之前工作的时候,写错了一条sql,判断某varchar类型的字段=2,结果匹配了很多条数据,比如 select tt from table1 where tt = 2; 结果集tt中 有 “2sssss”、“2dddddd”等。当时是很好奇,后面去查阅了资料,才发现这是mysql隐式转换导致的。 那 ...
分类:
其他好文 时间:
2020-12-04 10:53:50
阅读次数:
6
一、如果表定义的是varchar字段,传入的是数字,则会发生隐式转换。 1、表DDL 2、传int的sql 3、传字符串的sql 仔细看下表结构,rid的字段类型: 而用户传入的是int,这里会有一个隐式转换的问题,隐式转换会导致全表扫描。 把输入改成字符串类型,执行计划如下,这样就会很快了。 此外 ...
分类:
数据库 时间:
2017-03-02 13:04:55
阅读次数:
226
1. 环境说明
RHEL 6.4 x86_64 + MySQL 5.6.19
测试表:
MySQL [test]> show create table emp\G
*************************** 1. row ***************************
Table: emp
Create Table: CREATE TABLE `emp` (...
分类:
数据库 时间:
2014-09-13 17:21:54
阅读次数:
233