MYSQL之迷:BKA与VIRTUAL COLUMN

今天遇到了一个很离奇的事情,早上过来有同事说某个查询没有结果了。我心里一想我没有动查询SQL啊,不应该的啊。然后细想下昨天动了些东西。其中有重写另一个查询的SQL,打开了MYSQL默认关闭的BKA关联算法。昨天还沾沾自喜呢,一定有不少线上关联查询应该有快一些了。谁知道他么早上一来就遇到这种奇怪的事情。

下面将场景还原:

 

mysql> select version();
+------------+
| version()  |
+------------+
| 5.7.25-log |
+------------+

CREATE TABLE `a` (
  `c1` varchar(16) DEFAULT NULL,
  `c2` int(11) DEFAULT NULL,
  `c3` int(11) GENERATED ALWAYS AS ((`c2` + 1)) VIRTUAL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

/*Data for the table `a` */

insert  into `a`(`c1`,`c2`) values ('bc',1);

/*Table structure for table `b` */

CREATE TABLE `b` (
  `c1` varchar(16) DEFAULT NULL,
  `c2` int(11) DEFAULT NULL,
  `c3` int(11) DEFAULT NULL,
  key `c1` (`c1`)
) ENGINE=InnoDB DEFAULT CHARSET=utf
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值