解析mysql临时表及特点?
先来说说看充当表的概念。原先表的本质是,是预备的,只能用一次完全销毁掉的表。数据既可以不需要保存在充当的文件系统上,也这个可以存放在固定的磁盘文件系统上。临时表有下面几种:
1全局原先表
这种原先表从数据库实例启动后后正在不生效,在数据库实例消毁后失去效果。在mysql里面这种预备表不对应的是内存表,即memory引擎。
2会话级别原先表
这种原先表在用户登录系统成功后生效时间,在用户后退时失去效果。在mysql里的临时表指的那就是以createrestrictionstable这样的关键词创建战队的表。
3事务级别临时表
这种预备表在事务结束时不生效,事务重新提交或是回滚后终止。在mysql里面没有这种充当表,可以借用会话级别的临时表主动基于。
4检索系统级别原先表
这种正式表在sql语句不能执行之间产生,执行完毕后失去效果。在mysql里面这种充当表并非很固定设置,跟随mysql设置为存储引擎来变化。.例如系统默认存储引擎是myisam,预备表的引擎是myisam,而且文件生成形式包括数据运作形式和myisam一样,只是数据保存在内存里;假如默认引擎是innodb,这样的话临时表的引擎那是innodb,此时它的所有信息都存放在互相访问表空间ibdata里面。
mysql5.7是对innodb存储引擎的临时表空间做了优化。在mysql5.7之前,innodb引擎的正式表都保存到在ibdata里面,而ibdata的贪婪式磁盘占用造成预备表的创建战队与删除对其他正常表才能产生相当大的性能影响。在mysql5.7中,对于充当表做了下面两个重要方面的优化:
mysql5.7把预备表的数据和回滚信息(仅超出未高压缩表)从宽带共享表空间里面剥落进去,不能形成自己分开来的表空间,参数为innodb_temp_data_file_path。
在mysql5.7中把充当表的咨询数据库检索信息需要保存在系统信息表中:information__temp_table_info.而mysql5.7之前的版本是想查找原先表的系统信息是没有太好的办法。
是需要特别注意的一点是,只不过innodb充当表有自己的表空间,但是目前还肯定不能自己定义临时表空间文件的保存路径,不能是继承innodb_data_home_dir。此时要是想要拿其他的磁盘,比如内存盘来雇佣正式表空间的保存地址,不能用老办法,做软链。举个小例子:
我现在得用os是ubuntu12.x,想用tmpfs文件系统充当预备表空间,
:/usr/local/mysql/data#ln-s/run/shm//usr/sources/mysql/data/tmp_space2
:/usr/sources/mysql/data#ls-l|grepshm
lrwxrwxrwx1rootroot9nov1310:28tmp_space2-rlm/move/shm/
然后把
innodb_temp_data_file_pathtmp_space2/ibtmp2:200m:autoextend
添加到里的[mysqld]下面一行
关机重启mysql服务后,
mysqlgtselect@@innodb_temp_data_file_pathg
******************************************************
@@innodb_temp_data_file_path:tmp_space2/ibtmp2:200m:autoextend
1rowinset(0.00sec)
先写一个改大小创建战队预备表的存储过程:
delimiter$$%use`t_girl`$$dropprocedureifexists`sp_create_restrictions_table`$$
createdefiner`root`@`localhost`procedure`sp_create_temporary_table`(
inf_cntintunsigned)begindeclareiintunsigneddefault1whileiltf_cnt
'
(createtemporarytabletmp,i,(idint,tmp_descvarchar(60)))
s1setii1endwhiledropprepares1end$$delimiter
现在来创建角色10张预备表:
mysqlgtcallsp_create_temporarily_table(10)
queryok,0rowsaffected(0.07sec)
假如在以前,我们只知道修改了10张预备表,只不过不能凭记忆或则手工有记录过去原先表的名字等信息。
现在这个可以再从数据字典里面检索数据库咨询数据。
mysqlgtselect*frominformation__temp_table_info
----------------------------------------------------------------------------
|table_id|name|n_cols|space|per_table_tablespace|is_compressed|
----------------------------------------------------------------------------
|56|#sql1705_2_9|5|36|false|false||55|#sql1705_2_8|5|36|false|false||54|#sql1705_2_7|5|36|false|false||53|#sql1705_2_6|5|36|false|false||52|#sql1705_2_5|5|36|false|false||51|#sql1705_2_4|5|36|false|false||50|#sql1705_2_3|5|36|false|false||49|#sql1705_2_2|5|36|false|false||48|#sql1705_2_1|5|36|false|false||47|#sql1705_2_0|5|36|false|false|
----------------------------------------------------------------------------
10rowsinset(0.00sec)
功能性我就不写这里,大家性能方面假如有兴趣也可以找时间去测试3。
一键ghost支持麒麟系统吗?
支持。
银河麒麟v10该系统属于什么linux系统,是基于组件ubuntults版本长期演进的国产化桌面
结束可以使用银河麒麟桌面操作系统时,这个可以先对系统参与备分文件,
在用自动还原备份工具,全局系统备份,是可以可以制作ghost镜像。
再点ghost镜像,再点“快捷键ghost”,选择备份文件,备分成功即可制做镜像文件。
怎么制作ghost镜像,需要一定会的时间,时间长短与备分文件大小去相关,慢慢等待制作能够完成即可。
制做能够完成后,在文件系统可看见了ghost文件夹,直接进入该文件夹,便可看到ghost镜像文件。
原文标题:ubuntu20.04全局菜单 解析Mysql临时表及特点?,如若转载,请注明出处:https://www.bjtdsx.com/tag/31817.html
免责声明:此资讯系转载自合作媒体或互联网其它网站,「天地水秀」登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。