zoukankan      html  css  js  c++  java
  • 用建立索引的方式来替代外键关系

    为什么不用外键而用建立索引的方式来代替外键的关系?

    外键有性能问题:

    1.数据库需要维护外键的内部管理;

    2.外键等于把数据的一致性事务实现,全部交给数据库服务器完成;

    3.有了外键,当做一些涉及外键字段的增,删,更新操作之后,需要触发相关操作去检查,而不得不消耗资源;

    4.外键还会因为需要请求对其他表内部加锁而容易出现死锁情况;

    建表语句

           Table: a
    Create Table: CREATE TABLE `a` (
      `a_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
      `name` char(16) DEFAULT NULL,
      `b_id` int(10) unsigned DEFAULT NULL,
      PRIMARY KEY (`a_id`),
      KEY `a_to_b` (`b_id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4
    
           Table: b
    Create Table: CREATE TABLE `b` (
      `b_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
      `age` smallint(6) DEFAULT NULL,
      PRIMARY KEY (`b_id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4

    联表查询结果

  • 相关阅读:
    apk反编译
    mysql 安装解读
    安卓=--确认
    安卓--界面--改变image view
    安卓--返回时,不丢失转态
    安卓--跳转
    安卓--菜单
    安卓--Toast
    设置网页上收藏夹的图标
    分帧标签
  • 原文地址:https://www.cnblogs.com/chen55555/p/11285859.html
Copyright © 2011-2022 走看看