• MySql 常用语句


    MySql 常用语句

    -- 查看当前打开的表
    SHOW OPEN TABLES WHERE IN_USE > 0;
    
    -- 查看当前的MYSQL执行进程详细
    SHOW FULL PROCESSLIST;
    
    -- 结束某个进程
    kill pid
    
    -- 命令是用来查看当前运行的所有事务:
    SELECT * FROM information_schema.INNODB_TRX;
    
    -- 命令是用来查看当前出现的锁;
    SELECT * FROM information_schema.INNODB_LOCKs;
    
    -- 命令是用来查看锁等待的对应关系;
    SELECT * FROM information_schema.INNODB_LOCK_waits;
    
    -- 查看每个表
    SHOW TABLE STATUS;
    
    -- 查看表状态明细
    SELECT * FROM INFORMATION_SCHEMA.TABLES
    WHERE TABLE_SCHEMA = 'dss' and table_name='AC_DOOR_ACCESS_RECORD'
    ORDER BY TABLE_ROWS DESC;
    
    -- 删除表的全部数据
    delete from table_name;
    1.对于MyISAM会立刻释放磁盘空间(应该是做了特别处理,也比较合理)
    2.InnoDB不会释放磁盘空间
    
    -- 带条件的删除
    delete from table_name where xxx
    1.不管是 Innodb 还是MyISAM都不会释放磁盘空间
    2.delete操作以后使用optimize table table_name会立刻释放空间
    3.不管是Innodb还是MyISAM,所以想要达到清理数据的目的,请delete以后执行optimize table操作
    4.delete from 表以后虽然未释放磁盘空间,但是下次插入数据的时候,仍然可以使用这部分空间。
    
    -- mysql优化表释放表空间
    法一:
    optimize table table_name;
    这是我们经常见到的方法,这里就不在过多介绍。
    
    方法二:
    alter table table_name engine=engine_name;
    该方法通常用于切换表的引擎,例如MyISAM转为InnoDB,但是同样适用于释放表空间,
    只不过切换后的引擎和原来的engine相同罢了。 注意事项
    1.这两种方式都适用于我们常用的表,myisam和innodb。 2.优化表的时候会锁表,数据表越大,耗时越长,因此不要在网站忙时进行表优化。 方法三: truncate table table_name; 会保留表结构,立刻释放表空间,表空间和索引占用的空间恢复如初,但是会删除所有数据,删除速度快。
  • 相关阅读:
    一个word小技巧
    Android 自定义组件之 带有悬浮header的listview
    传智播客 java基础 相关资料 Day2
    js取整 摘抄
    ifram子页面父页面相互调用
    寻知图项目收获--项目管理方面
    圣经学习 读经群读经记录(一)申命记5-7章
    java1234教程系列笔记 S1 Java SE chapter 02 写乘法口诀表
    java1234教程系列笔记 S1 Java SE chapter 02 lesson 03 java基本数据类型
    java1234教程系列笔记 S1 Java SE 02 eclipse初步使用、注释、标识符
  • 原文地址:https://www.cnblogs.com/rinack/p/14151703.html
Copyright © 2020-2023  润新知