| 设为首页 加入收藏 |
当前位置: |
| TOP | ||||||||||||
|
小贝_mysql表优化
3.4.2、查看表t大小
? 3.4.3、删除表数据t
? 3.4.4、优化表
? ? 四、表数据导入4.1、针对myisam非唯一索引 格式: alter table 表名 disable keys; loading data alter table 表名 enable keys (备注: disable keys和enable keys用来打开或关闭myisam表中非唯一索引的更新,提高导入速度。) 4.1.1、例子: 创建表t
4.1.2、插入测试数据
4.1.3、导出数据并清空数据
4.1.4、未关闭索引
4.1.5、关闭索引
? 4.2、针对myisam唯一索引 格式: set unique_checks=0 loading data setunique_checks=1 (备注: unique_checks是myisam表进行唯一索引的校验,当其为0时,则是关闭,为1时,则为开启。因此,可以在导入数据时,让其关闭。导入成功后再进行改期,提高导入速度。) 4.2.1、例子:
4.2.2、插入测试数据
4.2.3、导出数据并清空数据
4.2.4、未关闭唯一索引校验
4.2.5、关闭唯一索引校验
? 4.3、针对innodb表 格式: set autocommit=0; loadingdata setautocommit=1; 导入数据前先执行setautocommit=0,关闭自动提交事务,在导入结束后执行set autocommit=1,恢复自动提交,从而提高导入效率。 五、锁操作5.1、myisam表读、写锁 5.1.1、读锁定 5.1.1A、作用: 一旦进行读锁定,则当前表就不允许删、插入、修改等操作 5.1.1B、例子: a、测试表:
b、读锁定
c、当前终端执行删除、修改、插入操作
d、另外的终端执行删除操作
(出现等待状态) e、解锁操作
(当前终端解锁) ? (新的终端才完成删除操作) 5.1.2、myisam写锁定 5.1.2A、作用: 一旦进行写锁定,则只允许当前终端执行增删改查操作,新的终端则不允许,必须等待第一个终端执行完,才可以 5.1.2B、例子: 第一个终端 第二个终端 解锁: 第一个终端: 第二个终端: ? 5.1.3、表锁定是否会影响视图 5.1.3A、例子
对表t进行读锁
(执行读锁定的终端截图)
(新终端)
(旧终端解锁)
(新终端) 总结: a、myisam表的写锁定比读锁定更严格 b、一般情况下很少去显式地去对表进行读和写锁定。myisam会自动进行锁定 c、原始表读写锁定会影响视图
|
||||||||||||
| 评论 |
|
|