当前位置: 首页 > news >正文

杭州网站开发工程师江西专业的网站建设公司

杭州网站开发工程师,江西专业的网站建设公司,寒亭区住房和城乡建设局网站,wordpress 设置站点地址在 MySQL 8.0.12 中#xff0c;我们引入了一种新的 DDL 算法#xff0c;该算法在更改表的定义时不会阻塞表。第一个即时操作是在表格末尾添加一列#xff0c;这是来自腾讯游戏的贡献。 然后在 MySQL 8.0.29 中#xff0c;我们添加了在表中任意位置添加#xff08;或删除我们引入了一种新的 DDL 算法该算法在更改表的定义时不会阻塞表。第一个即时操作是在表格末尾添加一列这是来自腾讯游戏的贡献。 然后在 MySQL 8.0.29 中我们添加了在表中任意位置添加或删除列的可能性。 在这篇文章中我想重点讨论盲目使用此功能时可能发生的一些危险。 默认算法 从 MySQL 8.0.12 开始对于任何支持的 DDL默认算法是 INSTANT。这意味着 ALTER 语句只会修改数据字典中表的元数据。在操作的准备和执行阶段不会对表进行独占元数据锁表数据不受影响使得操作是即时的。 另外两种算法是 COPY 和 INPLACEOnline DDL 操作参见手册。 然而即使支持操作Online DDL 也存在限制一个表支持 64 次即时更改。到限制后需要“重建”该表。 如果在 ALTER 语句DDL 操作期间未指定算法则会默默地选择适当的算法。当然如果没有预料到这可能会导致生产中出现噩梦般的情况。 始终指定算法 因此第一个建议始终是指定算法即使它是执行 DDL 时的默认算法。当指定算法时如果 MySQL 无法使用它它将抛出错误而不是使用其他算法执行操作 SQL ALTER TABLE t1 DROP col1, ALGORITHMINSTANT; ERROR: 4092 (HY000): Maximum row versions reached for table test/t1. No more columns can be added or dropped instantly. Please use COPY/INPLACE. 监控即时变化 第二个建议也是监视对表执行的即时更改的数量。 MySQL 在 information_schema 表中保留行版本 SQL SELECT NAME, TOTAL_ROW_VERSIONSFROM INFORMATION_SCHEMA.INNODB_TABLES WHERE NAME LIKE test/t1; ----------------------------- | NAME    | TOTAL_ROW_VERSIONS | ----------------------------- | test/t1 |                 63 | ----------------------------- 在上面的示例中DBA 将能够执行一项额外的 INSTANT DDL 操作但在此之后MySQL 将无法执行另一项操作。 作为 DBA监视所有表并决定何时需要重建表以重置该计数器是一个很好的做法。 这是添加到监控工具的建议查询的示例 SQL SELECT NAME, TOTAL_ROW_VERSIONS, 64-TOTAL_ROW_VERSIONS ASREMAINING_INSTANT_DDLs,ROUND(TOTAL_ROW_VERSIONS/64 * 100,2) AS DDLs %FROM INFORMATION_SCHEMA.INNODB_TABLESWHERE TOTAL_ROW_VERSIONS 0 ORDER BY 2 DESC; ------------------------------------------------------------------------------ | NAME                     | TOTAL_ROW_VERSIONS | REMAINING_INSTANT_DDLs | DDLs % | ------------------------------------------------------------------------------ | test/t1                  |                 63 |                      1 |  98.44 | | test/t                   |                  4 |                     60 |   6.25 | | test2/t1                 |                  3 |                     61 |   4.69 | | sbtest/sbtest1           |                  2 |                     62 |   3.13 | | test/deprecation_warning |                  1 |                     63 |   1.56 | ------------------------------------------------------------------------------ 要重置计数器并重建表可以使用 OPTIMIZE TABLE table 或 ALTER TABLE table ENGINEInnoDB 结论 总之MySQL 8.0 引入的 DDL 操作 INSTANT 算法通过避免阻塞更改彻底改变了模式更改。然而由于 64 次即时更改的限制在需要重建表之前在 ALTER 语句期间显式指定算法以避免意外行为至关重要。还建议通过 information_schema 监视即时更改的数量以避免在不知不觉中达到即时更改限制而出现意外情况并仔细计划将表重建。 享受 MySQL 更多技术文章请访问https://opensource.actionsky.com/ 关于 SQLE SQLE 是一款全方位的 SQL 质量管理平台覆盖开发至生产环境的 SQL 审核和管理。支持主流的开源、商业、国产数据库为开发和运维提供流程自动化能力提升上线效率提高数据质量。 SQLE 获取 类型地址版本库https://github.com/actiontech/sqle文档https://actiontech.github.io/sqle-docs/发布信息https://github.com/actiontech/sqle/releases数据审核插件开发文档https://actiontech.github.io/sqle-docs/docs/dev-manual/plugins/howtouse
http://www.dnsts.com.cn/news/61365.html

相关文章:

  • 广州网站建设定制设计网页设计基础的课程介绍
  • 流量最大的网站杭州建设工程交易网
  • 滑坡毕业设计代做网站网络域名大全
  • 扬州网站建设多少钱山门做网站
  • 房地产网站建设需求说明书沙井网站推广
  • 找人做网站注意事项该网站的域名为
  • 点开图片跳到网站怎么做的可视化小程序开发工具
  • 汕头网站建设技术托管贵阳百度快照优化排名
  • 外贸手机网站模板做高仿表网站容易被k吗
  • 承德市建设局网站怎么设计网页主页
  • 免费做国际网站有哪些高中学校网站模板
  • 网站建设江西有多少家室内设计软件排行榜
  • 网站文章后台写完前台不显示友情链接可以随便找链接加吗
  • 个人接网站开发的平台wordpress菜单栏功能
  • 企业网站的需求分析企业网站推广方案设计毕业设计
  • 高端营销型网站wordpress长文章分页代码
  • 北京优化seo在线seo优化工具
  • 彩票网站是怎么做的开发公司发生的物业费用所得税申报
  • 秦皇岛建设网站公司哪家好做古玩的网站
  • 杭州专门做网站百度收不到我的网站
  • 汽车用品网站做网站建设给人销售
  • 网站的描述 都应该写 什么 优化帮人做兼职的网站
  • 广州网站制作流程中国铁道工程建设协会网站
  • 0基础网站搭建教程80 wordpress
  • 菠菜网站建设条件惠州网站建设教程
  • 南京门户网站官方网站建设费用
  • 企业网站建设成本费用网站 验证码错误
  • 怎么做微信里的网页网站链接网站建设项目创业计划书
  • 长沙网站建设要多少钱企业网站功能
  • 灯塔建设网站wordpress网站导入数据库