当前位置:   article > 正文

mysql ddl注意_MYSQL-DDL注意事项

mysql ddl操作需要commit吗

DDL的基础语法及设计工具

数据定义语言:它定义了数据库的结构 和  数据表的结构。

在DDL中,我们常用的功能是增删改,分别对应的命令是

CREATE、DROP和ALTER。

需要注意的是,在执行DDL的时候,不需要COMMIT,就可以完成执行任务。

我们将字符集设置为utf8,排序规则为utf8_general_ci,行格式为Dynamic,就可以定义数据表的最后约定了:

ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

排序规则:

utf8_unicode_ci和utf8_general_ci对中英文来说没有实质的差别。

utf8_general_ci: 校对速度快,但准确度稍差。

utf8_unicode_ci: 准确度高,但校对速度稍慢。

若数据库中有德语、法语或者俄语需求,需使用utf8_unicode_ci。

其他情况用utf8_general_ci即可。

Note:

ci是 case insensitive, 即 "大小写不敏感", a 和 A 会在字符判断中会被当做一样的。

格式:

fixed :静态表

在mysql中, 若一张表里面不存在varchar、text以及其变形、blob以及其变形的字段的话,那么张这个表其实也叫静态表,即该表的row_format是fixed,

就是说每条记录所占用的字节一样。其优点读取快,缺点浪费额外一部分空间。

dynamic :动态表

若一张表里面存在varchar、text以及其变形、blob以及其变形的字段的话,那么张这个表其实也叫动态表,即该表的row_format是dynamic,

就是说每条记录所占用的字节是动态的。其优点节省空间,缺点增加读取的时间开销。

所以,做搜索查询量大的表一般都以空间来换取时间,设计成静态表。

排序规则为

utf8_unicode_ci和utf8_general_ci对中英文来说没有实质的差别。

utf8_general_ci: 校对速度快,但准确度稍差。

utf8_unicode_ci: 准确度高,但校对速度稍慢。

若数据库中有德语、法语或者俄语需求,需使用utf8_unicode_ci。

其他情况用utf8_general_ci即可。

Note:

ci是 case insensitive, 即 "大小写不敏感", a 和 A 会在字符判断中会被当做一样的。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/217267
推荐阅读
相关标签
  

闽ICP备14008679号