[每周一更]-(第2期):MySQL中数据表名称大小写区分设置及说明(对比版本优势)

在这里插入图片描述

  • 在创建业务的时候,由于染色体XY区分,做拆分表的时候,特意写成大写,都处理完发现自动改为小写了,就具体调研了MySQL关于数据表命名大小写的规则;
  • 首先说明结论:MySQL表创建的过程中是否支持大小写的区分,是由底层配置;

Mysql表名大小写区分规则

1)linux下:
数据库名与表名是严格区分大小写的;
表的别名是严格区分大小写的;
列名与列的别名在所有的情况下均是忽略大小写的;
变量名也是严格区分大小写的;

2)windows下:
都不区分大小写

3)Mac OS下(非UFS卷):
都不区分大小写

参数说明(lower_case_table_names)

Linux下lower_case_table_names默认值为 0 ;Windows下默认值是 1 ;Mac OS X下默认值是 2 。

参数值 解释

  • 0 使用CREATE TABLE或CREATE DATABASE语句指定的大小写字母在硬盘上保存表名和数据库名。名称比较对大小写敏感。在大小写不敏感的操作系统如windows或Mac OS x上我们不能将该参数设为0,如果在大小写不敏感的文件系统上将–lowercase-table-names强制设为0,并且使用不同的大小写访问MyISAM表名,可能会导致索引破坏。
  • 1 表名在硬盘上以小写保存,名称比较对大小写不敏感。MySQL将所有表名转换为小写在存储和查找表上。该行为也适合数据库名和表的别名。该值为Windows的默认值。
  • 2 表名和数据库名在硬盘上使用CREATE TABLE或CREATE DATABASE语句指定的大小写字母进行保存,但MySQL将它们转换为小写在查找表上。名称比较对大小写不敏感,即按照大小写来保存,按照小写来比较。注释:只在对大小写不敏感的文件系统上适用! innodb表名用小写保存。

由大小写敏感转换为不敏感方法

如果原来所建立库及表都是对大小写敏感的,想要转换为对大小写不敏感,主要需要进行如下3步:

  • 1)将数据库数据通过mysqldump导出。
  • 2)在my.cnf中更改lower_case_tables_name = 1,并重启mysql数据库。
  • 3)将导出的数据导入mysql数据库。

注意事项

为了避免大小写引发的问题,一种推荐的命名规则是:在定义数据库、表、列的时候全部采用小写字母加下划线的方式,不使用任何大写字母。

在任何系统中可以使用lower_case_tables_name=1。使用该选项的不利之处是当使用SHOW TABLES或SHOW DATABASES时,看不出名字原来是用大写还是小写。

请注意在Unix中如果以前lower_case_tables_name = 0将lower_case_tables_name设置为1之前,重启mysqld之前,必须先将旧的数据库名和表名转换为小写。

阿里云中MySQL说明对照

目前测试库和正式库业务中统一升级到5.7,后续准备升级8.0

  • 不同实例系列对比:https://help.aliyun.com/document_detail/55665.html?spm=5176.19908233.help.dexternal.2eb61450hWw0vU
  • 版本对比:https://help.aliyun.com/document_detail/96058.html?spm=5176.19908233.help.dexternal.2eb61450lFWAxC

MySQL 5.7升级MySQL 8.0的优势

  • 提高了安全性,并在账号管理中实现了更大的灵活性。
  • 支持资源组的创建和管理。
  • InnoDB存储引擎的功能增强。
  • 新增字符集、数据类型、语法、新型备份锁、optimizer_switch标志等支持。
  • JSON、XML增强。
  • Optimizer优化器功能增强。
  • 复制性能增强。
  • 支持创建多值索引、派生条件下推优化。
  • 支持读取MySQL授权表。
  • 支持资源分配控制。

MySQL5.6升级MySQL 5.7的优势

  • 增加密码管理、账号锁定、加密连接等功能,提高数据库的安全性。
  • 支持在线DDL操作。例如RENAME INDEX重命名索引等。
  • 改进了InnoDB引擎的可扩展性和临时表的性能,实现更快的数据加载速度。
  • 支持JSON。
  • 支持针对分区表的索引条件下推(ICP),以及全新的InnoDB空间索引。
  • 优化了大部分解析器、优化器和成本模型,提高数据库的可维护性、可扩展性和性能。
  • 扩展支持的字符集,包括中国国家标准规定的GB18030字符集。
  • 提供ngram全文解析器插件,支持中文、日文和韩文。
  • 优化源转储线程,减少锁的争用,提高了源吞吐量。
  • 大幅改进了复制延迟问题。
  • 新增sys系统库,提供多个监控项并减少存储空间占用,显著提高数据库的易用性。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值