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

国家工商管理总局官网seo优化总结

国家工商管理总局官网,seo优化总结,可以免费做商业网站的cms,国内外做的比较好的家装网站MySQL的在线数据定义语言(DDL)操作允许在对数据库对象进行结构修改时,最大限度减少对数据库可用性的影响,保证业务的连续性。本文将深入分析MySQL中各类在线DDL操作的支持情况、语法示例以及使用注意事项。 一、索引操作 &#…

MySQL的在线数据定义语言(DDL)操作允许在对数据库对象进行结构修改时,最大限度减少对数据库可用性的影响,保证业务的连续性。本文将深入分析MySQL中各类在线DDL操作的支持情况、语法示例以及使用注意事项。

一、索引操作

(一)支持情况概述

MySQL对多种索引操作提供了在线支持,具体信息如下:

操作原地操作重建表允许并发DML仅修改元数据
创建或添加二级索引
删除索引
重命名索引
添加FULLTEXT索引是*否*
添加SPATIAL索引
更改索引类型

(二)语法与使用说明

  1. 创建或添加二级索引:可以使用CREATE INDEXALTER TABLE ADD INDEX语句。在创建索引期间,表仍可进行读写操作,并且索引创建完成时会反映表的最新内容。若服务器在创建过程中退出,恢复时会删除部分创建的索引,需重新执行创建语句。
  2. 删除索引:使用DROP INDEXALTER TABLE DROP INDEX语句,删除索引时表可继续进行读写操作。
  3. 重命名索引:使用ALTER TABLE... RENAME INDEX语句,并指定ALGORITHM=INPLACELOCK=NONE
  4. 添加FULLTEXT索引:首次添加FULLTEXT索引且表中没有用户定义的FTS_DOC_ID列时会重建表,后续添加通常无需重建表。
  5. 添加SPATIAL索引:使用CREATE TABLEALTER TABLE ADD SPATIAL INDEX语句,并指定ALGORITHM=INPLACELOCK=SHARED
  6. 更改索引类型:使用ALTER TABLE语句,先删除原索引,再添加新类型的索引,并指定ALGORITHM=INPLACE

二、主键操作

(一)支持情况概述

操作原地操作重建表允许并发DML仅修改元数据
添加主键
删除主键
删除主键并添加另一个

(二)语法与使用说明

  1. 添加主键:使用ALTER TABLE ADD PRIMARY KEY语句,并指定ALGORITHM=INPLACELOCK=NONE。但在某些情况下,如列需要转换为NOT NULL时,可能不允许使用ALGORITHM=INPLACE。添加主键时,MySQL会检查列中是否存在重复值和NULL值。
  2. 删除主键:使用ALTER TABLE DROP PRIMARY KEY语句,并指定ALGORITHM=COPY
  3. 删除主键并添加另一个:使用ALTER TABLE DROP PRIMARY KEY, ADD PRIMARY KEY语句,并指定ALGORITHM=INPLACELOCK=NONE。此操作会大幅重组数据,较为昂贵。

三、列操作

(一)支持情况概述

操作原地操作重建表允许并发DML仅修改元数据
添加列是*
删除列
重命名列是*
重新排序列
设置列默认值
更改列数据类型
扩展VARCHAR列大小
删除列默认值
更改自增数值否*
使列可为NULL是*
使列不可为NULL是*是*
修改ENUM或SET列定义

(二)语法与使用说明

  1. 添加列:使用ALTER TABLE ADD COLUMN语句,并指定ALGORITHM=INPLACELOCK=NONE。添加自增列时不允许并发DML。
  2. 删除列:使用ALTER TABLE DROP COLUMN语句,并指定ALGORITHM=INPLACELOCK=NONE
  3. 重命名列:使用ALTER TABLE CHANGE语句,并指定ALGORITHM=INPLACELOCK=NONE。保持数据类型和[NOT] NULL属性不变时,可支持并发DML。
  4. 重新排序列:使用CHANGEMODIFY操作中的FIRSTAFTER关键字,并指定ALGORITHM=INPLACELOCK=NONE
  5. 更改列数据类型:使用ALTER TABLE CHANGE语句,并指定ALGORITHM=COPY
  6. 扩展VARCHAR列大小:使用ALTER TABLE CHANGE COLUMN语句,并指定ALGORITHM=INPLACELOCK=NONE。但需注意长度字节的限制。
  7. 设置列默认值:使用ALTER TABLE ALTER COLUMN SET DEFAULT语句,并指定ALGORITHM=INPLACELOCK=NONE
  8. 删除列默认值:使用ALTER TABLE ALTER COLUMN DROP DEFAULT语句,并指定ALGORITHM=INPLACELOCK=NONE
  9. 更改自增数值:使用ALTER TABLE AUTO_INCREMENT=next_value语句,并指定ALGORITHM=INPLACELOCK=NONE
  10. 使列可为NULL:使用ALTER TABLE MODIFY COLUMN语句,并指定ALGORITHM=INPLACELOCK=NONE
  11. 使列不可为NULL:使用ALTER TABLE MODIFY COLUMN语句,并指定ALGORITHM=INPLACELOCK=NONE。需启用STRICT_ALL_TABLESSTRICT_TRANS_TABLES SQL模式,且列中不能包含NULL值。
  12. 修改ENUM或SET列定义:使用ALTER TABLE MODIFY COLUMN语句,并指定ALGORITHM=INPLACELOCK=NONE。在不改变存储大小的情况下,可添加新成员。

四、生成列操作

(一)支持情况概述

操作原地操作重建表允许并发DML仅修改元数据
添加STORED列
修改STORED列顺序
删除STORED列
添加VIRTUAL列
修改VIRTUAL列顺序
删除VIRTUAL列

(二)语法与使用说明

  1. 添加STORED列:使用ALTER TABLE ADD COLUMN语句,并指定ALGORITHM=COPY。因为服务器需要评估表达式,所以不是原地操作。
  2. 修改STORED列顺序:使用ALTER TABLE MODIFY COLUMN语句,并指定ALGORITHM=COPY
  3. 删除STORED列:使用ALTER TABLE DROP COLUMN语句,并指定ALGORITHM=INPLACELOCK=NONE
  4. 添加VIRTUAL列:对于非分区表,使用ALTER TABLE ADD COLUMN语句,并指定ALGORITHM=INPLACELOCK=NONE。但不能与其他ALTER TABLE操作组合。对于分区表,不是原地操作。
  5. 修改VIRTUAL列顺序:使用ALTER TABLE MODIFY COLUMN语句,并指定ALGORITHM=COPY
  6. 删除VIRTUAL列:对于非分区表,使用ALTER TABLE DROP COLUMN语句,并指定ALGORITHM=INPLACELOCK=NONE。但不能与其他ALTER TABLE操作组合。对于分区表,不是原地操作。

五、外键操作

(一)支持情况概述

操作原地操作重建表允许并发DML仅修改元数据
添加外键约束是*
删除外键约束

(二)语法与使用说明

  1. 添加外键约束:当foreign_key_checks禁用时,支持INPLACE算法,否则仅支持COPY算法。使用ALTER TABLE ADD CONSTRAINT语句。
  2. 删除外键约束:使用ALTER TABLE DROP FOREIGN KEY语句。也可在同一语句中删除外键及其关联索引。可通过SHOW CREATE TABLE或查询Information Schema TABLE_CONSTRAINTS表获取外键约束名称。

六、表操作

(一)支持情况概述

操作原地操作重建表允许并发DML仅修改元数据
更改ROW_FORMAT
更改KEY_BLOCK_SIZE
设置持久表统计信息
指定字符集
转换字符集
优化表
使用FORCE选项重建表
执行空重建
重命名表

(二)语法与使用说明

  1. 更改ROW_FORMAT:使用ALTER TABLE ROW_FORMAT = row_format语句,并指定ALGORITHM=INPLACELOCK=NONE。此操作会大幅重组数据。
  2. 更改KEY_BLOCK_SIZE:使用ALTER TABLE KEY_BLOCK_SIZE = value语句,并指定ALGORITHM=INPLACELOCK=NONE。此操作会大幅重组数据。
  3. 设置持久表统计信息选项:使用ALTER TABLE STATS_PERSISTENT=0, STATS_SAMPLE_PAGES=20, STATS_AUTO_RECALC=1语句,并指定ALGORITHM=INPLACELOCK=NONE。此操作仅修改表元数据。
  4. 指定字符集:使用ALTER TABLE CHARACTER SET = charset_name语句,并指定ALGORITHM=INPLACELOCK=NONE。若新字符编码不同,会重建表。
  5. 转换字符集:使用ALTER TABLE CONVERT TO CHARACTER SET charset_name语句,并指定ALGORITHM=COPY。若新字符编码不同,会重建表。
  6. 优化表:使用OPTIMIZE TABLE语句。对于包含FULLTEXT索引的表,不支持原地操作,且不允许使用ALGORITHMLOCK语法。
  7. 使用FORCE选项重建表:使用ALTER TABLE FORCE语句,并指定ALGORITHM=INPLACELOCK=NONE。自MySQL 5.6.17起支持ALGORITHM=INPLACE,但对于包含FULLTEXT索引的表不支持。
  8. 执行空重建:使用ALTER TABLE ENGINE=InnoDB语句,并指定ALGORITHM=INPLACELOCK=NONE。自MySQL 5.6.17起支持ALGORITHM=INPLACE,但对于包含FULLTEXT索引的表不支持。
  9. 重命名表:使用ALTER TABLE RENAME TO语句,并指定ALGORITHM=INPLACELOCK=NONE。也可使用RENAME TABLE语句。重命名表时,需手动更改授予原表的特权。

七、表空间操作

(一)支持情况概述

操作原地操作重建表允许并发DML仅修改元数据
启用或禁用文件表空间加密

(二)语法与使用说明

使用ALTER TABLE ENCRYPTION='Y'语句,并指定ALGORITHM=COPY。加密仅支持文件表空间。

八、分区操作

(一)支持情况概述

多数ALTER TABLE分区子句不通过与常规非分区InnoDB表相同的内部在线DDL API,因此其在线支持情况有所不同。以下是部分分区操作的在线状态:

分区子句原地操作允许DML备注
PARTITION BY允许ALGORITHM=COPY,`LOCK={DEFAULT
ADD PARTITION仅允许ALGORITHM=DEFAULTLOCK=DEFAULT。对于按RANGE或LIST分区的表,不复制现有数据。对于按HASH或LIST分区的表,允许并发查询,MySQL在复制数据时持有共享锁
DROP PARTITION仅允许ALGORITHM=DEFAULTLOCK=DEFAULT。对于按RANGE或LIST分区的表,不复制现有数据
DISCARD PARTITION仅允许ALGORITHM=DEFAULTLOCK=DEFAULT
IMPORT PARTITION仅允许ALGORITHM=DEFAULTLOCK=DEFAULT
TRUNCATE PARTITION不复制现有数据,仅删除行,不改变表或其分区的定义
COALESCE PARTITION仅允许ALGORITHM=DEFAULTLOCK=DEFAULT。对于按HASH或LIST分区的表,允许并发查询,MySQL在复制数据时持有共享锁
REORGANIZE PARTITION仅允许ALGORITHM=DEFAULTLOCK=DEFAULT。对于按LINEAR HASH或LIST分区的表,允许并发查询,MySQL在复制受影响分区的数据时持有共享元数据锁
EXCHANGE PARTITION
ANALYZE PARTITION
CHECK PARTITION
OPTIMIZE PARTITIONALGORITHMLOCK子句被忽略,重建整个表
REBUILD PARTITION仅允许ALGORITHM=DEFAULTLOCK=DEFAULT。对于按LINEAR HASH或LIST分区的表,允许并发查询,MySQL在复制受影响分区的数据时持有共享元数据锁
REPAIR PARTITION
REMOVE PARTITIONING允许ALGORITHM=COPY,`LOCK={DEFAULT

(二)语法与使用说明

非分区在线ALTER TABLE操作对分区表遵循与常规表相同的规则,但会对每个表分区执行在线操作,可能增加系统资源需求。如需了解更多关于ALTER TABLE分区子句的信息,可参考相关文档。

通过深入了解MySQL的在线DDL操作,开发者和数据库管理员能够在保证数据库可用性的前提下,灵活、高效地对数据库结构进行调整,满足业务发展的需求。

http://www.dtcms.com/wzjs/180931.html

相关文章:

  • 浙江省国有建设用地出让网站网站建设详细方案
  • 让人做网站需要准备什么软件有没有专门做策划的公司
  • 徐州网站简介磁力棒
  • 怎么制作网站生成图片线上推广费用
  • 织梦网站后台logo删除抖音seo点击软件排名
  • 屏蔽ip地址访问网站如何快速提升自己
  • 建设网站如何优化关键词流量点击推广平台
  • 揭阳 网站建设咨询网络服务商
  • 做网站 杭州百度提交入口网址是指在哪里
  • 响应式网站是怎么做的衡阳seo
  • 网站可以做库存吗广告公司怎么找客户资源
  • 公司建立网站流程seo咨询邵阳
  • 便宜做网站线上营销策划方案
  • 法院网站建设百度网站排名seo
  • 学习php网站开发怎么样企业网站设计欣赏
  • 商业网站建设比较好的搜索引擎
  • 盐亭做网站软文模板
  • 做网站一年赚80亿做网站的软件有哪些
  • 淘客网站seo怎么做公司网站开发费用
  • wordpress站长网络营销就是seo正确吗
  • crm管理系统怎么用宁波正规seo推广公司
  • 杭州网站建设工作室百度手机助手安卓版
  • 昆明网站建设搭建抖音seo怎么收费
  • 学校能建设网站吗新东方烹饪学校学费一年多少钱
  • 网站建设的实验步骤seo关键字怎么优化
  • 一二三四影视在线观看免费视频茂名seo快速排名外包
  • 网站出售html拉新推广平台有哪些
  • 通州建设局网站做网站的平台有哪些
  • wordpress 模板开发河南网站seo推广
  • 起名网站怎么做百度搜索引擎算法