上一次修改时间:2015-11-11 14:33:17

mysql的小知识

  1. 共享锁(读锁)的优先级高于排他锁(写锁),因此并发时读取操作会被优先执行;

  2. MyISAM为表锁,且在运行select操作时,可以在同一张表内插入新行(并发插入,可以稍微提高并发);

  3. mysql支持对MyISAM表的自动检查和自动修复,也可使用CHECK TABLE mytable和REPAIR TABLE mytable手动检查、修复(InnoDB也可以);

  4. InnoDB插入数据时会对数据进行排序,因此大量数据插入时会比较慢(主键存在时按主键排序,无主键时不会自动排序);

  5. mysql> CREATE TABLE `test1` (
        ->   `id` int(11) DEFAULT NULL,
        ->   `title` varchar(10) DEFAULT NULL,
        ->   PRIMARY KEY (`id`)
        -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    Query OK, 0 rows affected (0.39 sec)
    mysql> INSERT INTO test1 values (30,'php'),(24,'php'),(26,'php');
    Query OK, 3 rows affected (0.38 sec)
    Records: 3  Duplicates: 0  Warnings: 0
    mysql> select * from test1;
    +----+-------+
    | id | title |
    +----+-------+
    | 24 | php   |
    | 26 | php   |
    | 30 | php   |
    +----+-------+
    3 rows in set (0.00 sec)
  6. MyISAM表中对于不经常改变数据可以进行压缩,压缩后即可以减少磁盘开销,也可以减少获取数据时寻址的开销;