外键与表锁
foreign key (cat_id) references sh_category(id) on delete|update no action|restrict|cascade|set null, Restrict:如果从表有记录主表不允许删除 Cascade:如果主表删除了从表中的记录也删除 MyISAM:插入和查询时速度快 表级锁定 InnoDB:并发修改更快 行级锁定 知识点二、表锁 写一个PHP脚本可以多进程同时操作一个文件。(文件锁) 一个脚本在高并发访问时有时会出现问题。 语法: LOCK TABLE 表名1 READ|WRITE, 表2 read|write, 表3 read|write..... READ:共享锁|读锁: 所有人(包括自己)只能读 WRITE:排它锁|写:只有自己可以操作这张表,其他人即不能读也不能写。 释放表:unlock tables; 注意:在锁表的过程中只能操作锁定的这张表。如果要操作多张表,那么需要把所有要操作的表都锁起来。 注意:这个功能要慎用。如果把一个表锁定起来,那么整个网站所有跟这个表有关的功能都被受影响,就会导致把整个网站拖慢。应该改用PHP中的文件锁。因为PHP是锁定一个无关的文件,这个文件是否是锁定的对网站没影响。