您的位置:首页 > 数据库 > MySQL

InnoDB 主键的选择:自增ID & 业务ID

2013-11-13 11:09 316 查看
这篇文章是我从淘宝的一个PPT文档中整理的,就不好意思的定为原创吧,截图也挺麻烦的,呵呵

CREATE TABLE `a` (

    `id` bigint(20) NOT NULL AUTO_INCREMENT,
    `message_id` int(11) NOT NULL,
    `user_id` int(11) NOT NULL,
    `msg` varchar(1024) DEFAULT NULL,
    `gmt_create` datetime NOT NULL,
    PRIMARY KEY (`id`),
    KEY `user_id` (`user_id`,`message_id`),
    KEY `idx_gmt_create` (`gmt_create`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk;

CREATE TABLE `b` (
    `user_id` int(11) NOT NULL,
    `message_id` int(11) NOT NULL,
    `msg` varchar(1024) DEFAULT NULL,
    `gmt_create` datetime NOT NULL,
    PRIMARY KEY (`user_id`,`message_id`),
    KEY `idx_gmt_create` (`gmt_create`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk;

大多数互联网业务(用户,消息),都可以选择a或者b来满足业务需求,但a表和b表有何区别? 



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  MYSQL 性能
相关文章推荐