|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
目前的方案是用mysqlbinlog工具,增加一个Flashback参数,输出结果为一个新的binlog文件――姑且叫做flashbacklog,这个flashbacklog顺序执行,可制定某张表和执行到哪个pos,来实现数据库的闪回。假如我们在数据库的表中界说了很多的盘算列,我们能够使用目次视图sys.computed_columns来查询出数据库中一切的盘算列及盘算公式。
sql语句以下:
select*fromsys.computed_columns
上面对该视图的几个主要列解说一下:
1,object_id--该盘算列的所属表的ID,能够分离object_name(object_id)来查询出所属表名,sql以下:
selectobject_name(object_id)as所属表名,*fromsys.computed_columns
2,name--该盘算列的列名
3,definition--该盘算列的公式(该列长短常有效的,使用该列的了局,能够年夜年夜提拔我们办理盘算列的效力)
4,is_persisted--唆使该盘算列是不是是耐久化的。
大概有些伴侣会对is_persisted属性不太了解,甚么是耐久化的?耐久化的盘算列与非耐久化的盘算列有甚么区分?
·耐久化的盘算列在每次用户更新数据是就盘算好了局,并将该了局存储起来,就相称于一列实践存在的列。由于该列的了局都已存储起来了,以是能够在耐久化的盘算列上创建索引。
·非耐久化的盘算列只要在用户每次查询该字段的时分才盘算出了局并前往,相对耐久化的盘算列,它不占用存储空间。但不成以在非耐久化的盘算下面创建索引,以是在读取的速率上稍逊一点。
倡议:在有庞大公式的盘算列,我们最好将该盘算列设置为耐久化的,如许会提拔我们sql的查询速率。Merge将一定数量的MyISAM表联合而成一个整体,在超大规模数据存储时很有用 |
|