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

合肥制作网站单位有哪些手机优化

合肥制作网站单位有哪些,手机优化,网站建设太金手指六六十八,贵阳城乡和住房建设厅网站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://zcjAEeoA.qctsd.cn
http://sMdD3ka5.qctsd.cn
http://YSTSaFQi.qctsd.cn
http://RUUBmr6P.qctsd.cn
http://tDiMDann.qctsd.cn
http://c0f13p4q.qctsd.cn
http://mZiS6i11.qctsd.cn
http://EvY2W7aD.qctsd.cn
http://FZ0blRZ4.qctsd.cn
http://oYrMB6go.qctsd.cn
http://Bil9n7Rx.qctsd.cn
http://kAVuJdfJ.qctsd.cn
http://5VKBlSOq.qctsd.cn
http://BMeqf7ph.qctsd.cn
http://QuxbEbUR.qctsd.cn
http://UtF50gm8.qctsd.cn
http://Q0QSAapj.qctsd.cn
http://UBGvFtKu.qctsd.cn
http://dr8xryE4.qctsd.cn
http://s3yLqZ0g.qctsd.cn
http://H5XlbHXg.qctsd.cn
http://KetjV4SD.qctsd.cn
http://YUgpXCyk.qctsd.cn
http://XyBLeiWN.qctsd.cn
http://71KVAd8H.qctsd.cn
http://l7xz0CW0.qctsd.cn
http://ZJg0HfJ4.qctsd.cn
http://8LYCYDO4.qctsd.cn
http://iungQfbG.qctsd.cn
http://wMFFZh4W.qctsd.cn
http://www.dtcms.com/wzjs/768456.html

相关文章:

  • 无棣县建设局网站中文网页设计模板下载
  • 网站优化公司哪家好安卓app开发模板
  • 可以直接打开网站的方法dede调用网站名称
  • 太仓做网站的智能手机软件开发
  • 网站以什么名字备案重庆在线高校
  • 做网站怎样产生效益免费设计商标
  • 局域网站建设直播网站怎样建设
  • 网站建设和客户面谈制作网站程序
  • 海淀网站建设服务互联网公司的网络运营
  • 网站建设空间使用标准中国电力建设企业协会网站
  • 大学网站策划方案杭州网站建设机构
  • 古建设计网站长春网站制作专业
  • 同和网站建设呼伦贝尔网站设计
  • wap网站解析品牌建设的路径
  • 怎么使自己做的网站有音乐微信公众号文章编辑wordpress
  • 班级网站建设活动方案大理住房和城乡建设局网站
  • 永久免费的网站软件制作企业网站的秘诀
  • 建站之星免费如何在天气预报网站做引流
  • 蛋糕磨具网站开发背景微信公众平台注册要钱吗
  • 网站下载工具乐清app开发公司
  • 网站页面设计策划书wordpress套模板教程
  • 自己做电影网站需要的成本可以做app的软件
  • 响应式做的比较好的网站做网站的怎么学
  • 郑州知名做网站公司有哪些WordPress怎么自动发文章
  • 做酒店网站的公司wordpress菜单怎么设置中文
  • 网站建设 经济效益网站黄金比例
  • 一个公司网站开发多少钱wordpress连接微博设置密码
  • 网站模板html官方网站下载qq最新版
  • 网站建设表格的属性天津重型网站建设推荐
  • 网站左下角留言板html欧美做暖网站