MySQL由浅至深(十).ppt

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MySQL由浅至深(十)

MySQL课程 第十章 要做就做最好,要不就不做! MySQL存储引擎的体系结构 插件式存储引擎体系结构提供了标准的管理和支持服务集合,它们对所有的基本存储引擎来说是共同的。存储引擎本身是数据库服务器的组件,负责对在物理服务器层面上维护的基本数据进行实际操作。 这是一种高效的模块化体系结构,它为那些希望专注于特定应用需求的人员提供了巨大的便利和益处,这类特殊应用需求包括数据仓储、事务处理、高可用性情形等,同时还能利用独立于任何存储引擎的一组接口和服务。 应用程序编程人员和DBA通过位于存储引擎之上的连接器API和服务层来处理MySQL数据库。如果应用程序的变化需要改变底层存储引擎,或需要增加1个或多个额外的存储引擎以支持新的需求,不需要进行大的编码或进程更改就能实现这类要求。MySQL服务器体系结构提供了一致和易于使用的API,这类API适用于多种存储引擎,通过该方式,该结构将应用程序与存储引擎的底层复杂性隔离开来。 MySQL体系结构 MySQL体系结构图: MySQL选择存储引擎 与MySQL一起提供的各种存储引擎在设计时考虑了不同的使用情况。为了更有效地使用插件式存储体系结构,最好了解各种存储引擎的优点和缺点。 在下面的表格中,概要介绍了与MySQL一起提供的存储引擎。 MySQL项目案例 系统自动增长的系统流水号如下: DROP TABLE IF EXISTS UM_SEQUENCE; CREATE TABLE UM_SEQUENCE ( SID VARCHAR(22) NOT NULL, CURRENT_VALUE VARCHAR(10) NOT NULL, INCREMENT INT NOT NULL DEFAULT 1 ) ENGINE=INNODB; INSERT INTO UM_SEQUENCE VALUES (1000201111020000000000,0000000000,1); MySQL项目案例-获取当前流水 获取当前流水号值函数 DROP FUNCTION IF EXISTS CURVAL; DELIMITER $ CREATE FUNCTION CURVAL() RETURNS TEXT DETERMINISTIC BEGIN DECLARE VALUE VARCHAR(22); SELECT SID INTO VALUE FROM UM_SEQUENCE; RETURN VALUE; END $ DELIMITER ; MySQL项目案例-获取新的流水 获取下一个流水号值函数 DROP FUNCTION IF EXISTS NEXTVAL; DELIMITER $ CREATE FUNCTION NEXTVAL() RETURNS TEXT DETERMINISTIC BEGIN UPDATE UM_SEQUENCE SET SID = CONCAT(1000,DATE_FORMAT(CURDATE(),%Y%m%d),RIGHT(CONCAT(0000000000, CURRENT_VALUE + INCREMENT), 10)), CURRENT_VALUE = RIGHT(CONCAT(0000000000, CURRENT_VALUE + INCREMENT), 10); RETURN CURVAL(); END $ DELIMITER ; MySQL项目案例-设置当前流水 设置当前流水号值函数 DROP FUNCTION IF EXISTS SETVAL; CREATE FUNCTION SETVAL(NUM INTEGER) RETURNS TEXT DETERMINISTIC BEGIN UPDATE UM_SEQUENCE SET SID = CONCAT(1000,DATE_FORMAT(CURDATE(),%Y%m%d),RIGHT(CONCAT(0000000000, NUM), 10)), CURRENT_VALUE = RIGHT(CONCAT(0000000000, NUM), 10); RETURN CURVAL(); END;

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档