mysql 擅长 应用场景,MYSQL一种常见的应用场景的效率问题

C表为什么不是

aid, bid, ccontent

1, abc, 内容c

关联更简单, C.aid = A.aid;

在(aid, bid)上建了唯一索引 也可以replace into

索引也更加灵活, a, b, (a,b), (b,a)上皆可建索引, 具体看你的需求

更新

联合唯一索引:

mysql> create table a1 (a int, b int, unique key (a,b));

Query OK, 0 rows affected (0.13 sec)

mysql> show create table a1;

+-------+------------------------------------------------------------------------------

-----------------------------------------------------------------+

| Table | Create Table

|

+-------+------------------------------------------------------------------------------

-----------------------------------------------------------------+

| a1 | CREATE TABLE `a1` (

`a` int(11) DEFAULT NULL,

`b` int(11) DEFAULT NULL,

UNIQUE KEY `a` (`a`,`b`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1 |

+-------+------------------------------------------------------------------------------

-----------------------------------------------------------------+

1 row in set (0.02 sec)

更新: replace into

mysql> delete from a1;

Query OK, 1 row affected (0.04 sec)

mysql> replace into a1 values(1,1, 1);

Query OK, 1 row affected (0.00 sec)

mysql> select * from a1;

+------+------+------+

| a | b | c |

+------+------+------+

| 1 | 1 | 1 |

+------+------+------+

1 row in set (0.00 sec)

mysql> replace into a1 values(1,1, 2);

Query OK, 2 rows affected (0.02 sec)

mysql> select * from a1;

+------+------+------+

| a | b | c |

+------+------+------+

| 1 | 1 | 2 |

+------+------+------+

1 row in set (0.00 sec)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值