仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 623|回复: 6
打印 上一主题 下一主题

[学习教程] MSSQL网页设计InnoDB 中文参考手册 --- 14 InnoDB 表...

[复制链接]
海妖 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:28:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
目前的方案是用mysqlbinlog工具,增加一个Flashback参数,输出结果为一个新的binlog文件――姑且叫做flashbacklog,这个flashbacklog顺序执行,可制定某张表和执行到哪个pos,来实现数据库的闪回。参考|参考手册|中文InnoDB中文参考手册---犬犬(心帆)翻译14InnoDB表的限定在<3.23.50版本的InnoDB中,不成以利用ALTERTABLE或CREATEINDEX来修正一个已有了外键束缚或参考了外键束缚的表。利用DROPTABLE和CREATETABLE来取代它。不成以将MySQL体系表(如user或host)转换成InnoDB范例。体系表必需老是为MyISAM范例的。InnoDB表不撑持全文搜刮(fulltextsearch)。MySQL以主动提交形式(autocommitmode)实行复制(replication)。因而slave中的consistentreads大概看起来你部分处置过的事件,以是在slave中这类读取(read)并非真实的consistent。这个限定在3.23.52不再存在。InnoDB在外部不保留一个表纪录总数,这是因为multiversioning的缘故原由使它完成有点庞大。为了呼应一个查询SELECTCOUNT(*)FROMT,InnoDB不能不扫描表的一个索引,假如表没有完整在缓冲池中这将消费一些工夫。为了失掉更快的计数你不能不利用本人创立一个计数表,让你的使用程序在拔出与删除时本人更新它。打消因锁守候引发的瓶颈的一个办法就是创立全体的计数器集。使用程序能够随机地每次选择一个。为了失掉计数,仅仅只需对计数器乞降:SELECTSUM(counter_column)FROMyour_counter_table。表中有auto-increment列的必需为它界说一个键,这个键必需仅仅包括这个auto-increment列。InnoDB不撑持在一个CREATETABLE语句中利用AUTO_INCREMENT=...。这个子句是为了给一个auto-increment列设置第一个值(默许的第一个值为1)。事情区(Workaround):向自增列中拔出一个指定的值做为第一个值。今后,InnoDB将从这值入手下手增添。SHOWTABLESTATUS不克不及给出InnoDB表的严密统计数据,除由表保存的物理巨细以外。纪录行数只能经由过程一个优化的SQL来取得大抵的估量。在MySQL中复制(replication)中,loadtablefrommaster仍旧不克不及在InnoDB表中事情。在主(master)服务器中开设一个事情区(workaround)用于将表转换成MyISAM型,然后再举行load,以后再在master中将表改回InnoDB范例。假如以一个列的后面部分创建索引:
CREATETABLET(ACHAR(20),BINT,INDEXT_IND(A(5)))TYPE=InnoDB;
InnoDB将内涵的在全部列上创建一个索引,而不是仅以设定的首部分。InnoDB表不撑持INSERTDELAYED。MySQL的LOCKTABLES操纵没法晓得一个SQL语句已完成对InnoDB的行锁定:这就意味着即便已有别的用户的事件在统一张表上设置了行锁,你仍旧会锁定该表。以是你在这张表上的操纵与别的用户的锁定抵触则不能不守候。一样逝世锁也是大概的。不管怎样,这能事件完全性(transactionintegrity)其实不伤害,由于InnoDB设置的行级锁定一般会照应完全性(integrity)的。一样,一个表级锁定能够避免别的事件在表上取得更多的行级锁定(锁定形式纷歧致)。在BLOB或TEXT字段上没法设置索引。一张表不成以有凌驾1000个字段。DELETEFROMTABLE除删除一切纪录行以外不再重修表,一个接一个地删除,这其实不那末快。在未来的MySQL版本中可使用TRUNCATE,这是相称快的。在<=3.23.43的InnoDB中,在对InnoDB表挪用DROPDATABASE之前,必需挪用DROPTABLE来移除(drop)个别的InnoDB表。这个限定在>=3.23.44的版本中不再存在。InnoDB默许的数据库页面巨细为16kB。经由过程从头编译源代码能够设置为8kB到64kB。你必需在univ.i中更新UNIV_PAGE_SIZE和UNIV_PAGE_SIZE_SHIFT。在版本<=3.23.39a的InnoDB中,最年夜纪录行长度为比数据库页面长度的一半稍小点。从源开释版本3.23.39b(可是在MySQL-Max3.23.40二进制开释版本中仍旧没有)入手下手,BLOB和TEXT字段同意<4GB,全部行长度一样<4GB。InnoDB不在分隔的页面中存储尺寸<=128bytes的字段。在InnoDB经由过程将长字段存储在分隔的页面上修正纪录后,残剩的纪录行长度必需小于数据库页面的一半。最年夜键长为500bytes。日记文件的总尺寸必需<4GB。最年夜表空间尺寸为数据库页面的4十亿(billion)倍。这一样也是一个表的最年夜尺寸。最小表空间为10MB。你看出了作者的深度?深处半米!当初是冲那么多的大牛给他写序才买的,后来才发现无啥内容,作者也只是才用几年的新手,百花了几十两银子,再次感叹当今社会的虚伪与浮躁
活着的死人 该用户已被删除
沙发
发表于 2015-1-19 13:44:07 | 只看该作者
再开发调试阶段和OLAP环境中,外键是可以建立的。新版本中加入了SETNULL和SETDEFAULT属性,能够提供能好的级联设置。
柔情似水 该用户已被删除
板凳
发表于 2015-2-2 21:53:28 | 只看该作者
我是一个ERP初学者,对于前台运用基本熟悉,但对于后台SQLServer的运用一点也不懂,特想学习下相关资料。至少懂得一些基本的运用。希望各位能给于建议,小弟再谢过!
变相怪杰 该用户已被删除
地板
发表于 2015-2-25 01:58:48 | 只看该作者
原来公司用过MYSQL自己也只是建个表写个SQL
海妖 该用户已被删除
5#
 楼主| 发表于 2015-3-7 15:48:26 | 只看该作者
总感觉自己还是不会SQL
若相依 该用户已被删除
6#
发表于 2015-3-15 09:05:00 | 只看该作者
对于微软系列的东西除了一遍遍尝试还真没有太好的办法
老尸 该用户已被删除
7#
发表于 2015-3-21 23:07:00 | 只看该作者
sqlserver的痛苦之处在于有用文档的匮乏,很多只是表明的东西
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 23:52

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表