February 23, 2015

库表字符集不一致导致的全表扫描问题

背景: 当数据库的建库字符集和表不一样时,在库下针对表创建存储过程可能导致全表扫描 如下例: drop database if exists xx1; drop database if exists xx2; create database xx1 character set utf8; create database xx2 character set gbk;   然后分别在xx1 和 xx2下执行: CREATE TABLE t1 ( `col1` varchar(10) NOT NULL, `col2` bigint(11) NOT NULL DEFAULT ‘0’, PRIMARY KEY (`col1`)) ENGINE=InnoDB DEFAULT CHARSET=gbk; insert into t1 values (‘ac’,2),(‘del’,3),(‘sp’,5),(‘tr’,12); DELIMITER […]