2
CREATE  TABLE IF NOT EXISTS `church` (
  `church_id` INT(11) NOT NULL AUTO_INCREMENT ,
  `name` VARCHAR(40) NOT NULL ,
  `city_id` SMALLINT(4) UNSIGNED ZEROFILL NOT NULL ,
  `validated` TINYINT(1) NULL ,
  PRIMARY KEY (`church_id`) ,
  INDEX `church.city_id-city.city_id_idx` (`city_id` ASC) ,
  UNIQUE INDEX `church-city_id` (`name` ASC, `city_id` ASC) ,
  CONSTRAINT `church.city_id-city.city_id`
    FOREIGN KEY (`city_id` )
    REFERENCES `city` (`city_id` )
    ON DELETE RESTRICT
    ON UPDATE RESTRICT)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8

churchローカルホスト (ラップトップ) にこのテーブルがあります。それに挿入すると(現在は10行があります)、160msかかります。

  • Church_id は、他のテーブルで外部キーとして使用されます。
  • name と city_id は共に一意である必要があります。
  • city_id は外部キーです

これは大したことではありません。私は何か間違ったことをしましたか?

4

1 に答える 1

3

インサートはかなりの作業を行う必要があります。

  • テーブルをロックする
  • 一意のインデックス制約を確認する
  • 外部キー制約を確認する
  • 新しいレコードを書く
  • インデックスを更新する
  • テーブルのロックを解除します
  • トランザクションログを書き込む
于 2012-12-01T11:04:03.487 に答える