美文网首页
测试mysql 在 into outfile是否锁表

测试mysql 在 into outfile是否锁表

作者: frankie_cheung | 来源:发表于2020-08-05 16:01 被阅读0次

    最近在使用into outfile 导出.txt文件,但是一个表假如一直在写,那么这个时候要写 。不确定是不是会阻塞其他的insert sql,所以做个实验。
    创建表语句

     TEST_TABLE | CREATE TABLE `TEST_TABLE` (
      `ID` bigint(20) NOT NULL AUTO_INCREMENT,
      `TEST_ID` varchar(200) DEFAULT NULL,
      PRIMARY KEY (`ID`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
    

    测试代码

    import pymysql
    sensor1 = {'host': 'localhost', 'port': 3306, 'user': 'root', 'passwd': 'MyNewPass4!',
               'db': 'demo'}
    conn3 = pymysql.connect(**sensor1)
    cursor3 = conn3.cursor()
    for i in range(200000):
        sql="insert into TEST_TABLE(TEST_ID) values('{}') ".format(i)
        print(sql)
        cursor3.execute(sql)
        conn3.commit()
    conn3.close()
    

    outfile

    Database changed
    mysql> select * from TEST_TABLE into outfile '/var/lib/mysql-files/TEST_TABLE.txt';
    Query OK, 9923 rows affected (0.01 sec)
    mysql> 
    

    实验证明此时的outfile并没有对表进行上锁,且insert 语句可以直接执行,但是outfile的文件只是某个时刻的快照,类似于mysqldump出来的sql文件。

    相关文章

      网友评论

          本文标题:测试mysql 在 into outfile是否锁表

          本文链接:https://www.haomeiwen.com/subject/dgforktx.html