数据库优化之新建字符集和排序规则 (新建数据库字符集和排序规则)

在数据库运维过程中,为了提高数据库的效率和性能,我们需要对数据库进行优化。其中,新建字符集和排序规则是数据库优化的重要方面之一。这篇文章将从以下几个方面介绍如何新建字符集和排序规则来提高数据库的性能。

一、字符集和排序规则的概念

字符集是指一组规定了字符编码和字形的符号,它决定了数据库中字符的存储和处理方式。排序规则则是对字符进行比较和排序的一组规则。不同的字符集和排序规则会影响到查询语句的执行效率和返回结果的正确性。

二、新建字符集和排序规则的作用

默认情况下,SQL Server数据库提供了许多常用的字符集和排序规则,但是有时候我们需要根据具体的业务需求或特殊情况,自行定义字符集和排序规则。通过新建字符集和排序规则,可以实现以下作用:

1、提高查询效率:自定义字符集和排序规则可以适应不同的查询场景,优化查询语句的执行效率,降低数据库的响应时间。

2、确保数据的正确性:字符集和排序规则决定了字符的存储和处理方式,不同的字符集和排序规则可能会导致查询结果的不一致性和错误性。

3、增加数据库的可扩展性:自定义字符集和排序规则可以满足不同语言和地域的需求,提高数据库的可扩展性和兼容性。

三、新建字符集和排序规则的方法

1、新建字符集

新建字符集可以通过SQL Server Management Studio来实现。具体方法如下:

(1)在SQL Server Management Studio中,选择“新建数据库”菜单,创建一个新的数据库。

(2)在“属性”中选择“字符集”选项卡,在“字符集”下拉框中选择“新建字符集”。

(3)在“新建字符集”对话框中,输入字符集的名称,并选择字符集的编码方式和排序规则。点击“确定”即可完成新建字符集的操作。

2、新建排序规则

新建排序规则也可以通过SQL Server Management Studio来实现。具体方法如下:

(1)在SQL Server Management Studio中,选择“新建数据库”菜单,创建一个新的数据库。

(2)在“属性”中选择“字符集”选项卡,选择要新建排序规则的字符集。

(3)在“排序规则”下拉框中选择“新建排序规则”。

(4)在“新建排序规则”对话框中,输入排序规则的名称,并设置排序规则的选项,如大小写敏感、重音符号等。最后点击“确定”即可完成新建排序规则的操作。

四、新建字符集和排序规则的注意事项

1、在新建字符集和排序规则时,需要慎重考虑业务需求和数据库的特殊情况,避免不必要的数据冗余和查询错误。

2、在新建字符集和排序规则后,需要对数据库中已有的表和列进行修改和更新,否则可能会导致查询结果的错误和不一致性。

3、在新建字符集和排序规则后,需要对查询语句和存储过程进行修改和更新,以保证其兼容新的字符集和排序规则。

五、

新建字符集和排序规则是提高数据库性能和效率的重要手段之一。通过自定义字符集和排序规则,可以适应不同的查询场景,提高查询效率和数据的正确性,增加数据库的可扩展性和兼容性。在进行新建字符集和排序规则时,需要慎重考虑业务需求和数据库的特殊情况,并进行相应的修改和更新。

相关问题拓展阅读:

  • 如何建立Mysql数据库
  • mysql用sql语句创建表和数据库怎么设置字符编码’

如何建立Mysql数据库

一般用工具,如Navicat Premium

1、选择要建立数据库的服务器。如本地localhost

2、右键茄厅localhost,选颤贺隐择新建数据库

3、为数据库起名,然后字符集一般选择utf8,排序规则可拍租以不选,点确定即可。

mysql用sql语句创建表和数据库怎么设置字符编码’

方法如下:

我们先建一个DEMO表,来做我们今天的实现,建表语句如下:

CREATE TABLE

DEMO

(

NAME VARCHAR(50) COMMENT ‘姓名’,

SEX CHAR(1) COMMENT ‘码拆滚性别’,

PRIMARY KEY (NAME)

)

ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=’例子表’;

并且select查询一下,如下图

增加一个AGE字段,

ALTER TABLE DEMO ADD AGE CHAR(3);

select查询一下,如下图

请对比上下图,可以发现 多出了一个AGE字段,此处是CHAR类型的。

那么如何删除我们刚加的字段呢,

ALTER TABLE DEMODROP COLUMN AGE;

select查询一下,如下图

请对比上下图,可以发现 AGE字段被删迟余除掉了

我们在把这个字段加回来

ALTER TABLE DEMO ADD AGE CHAR(3);,

我们用视图工具DBVISUAL看下表机构,这时AGE字段御侍是CHAR类型的

我们如果需要把这个字段修改为VARCHAR类型的怎么办呢,

ALTER TABLE DEMO MODIFY  AGE   VARCHAR(20),

然后我们在用视图工具DBVISUAL看下表机构,这时AGE字段是VARCHAR类型的

— 创建数据库时,设置数据库滚橘的编码方式 

— CHARACTER SET:指定数据库采用的字符集,utf8不能写成utf-8

— COLLATE:指定数据库字符集的排序规则,utf8的默认排序规则为utf8_general_ci(通过show character set查看)

drop database if EXISTS dbtest;

create database dbtest CHARACTER SET utf8 COLLATE utf8_general_ci;

— 修改数据库编码

alter database dbtest CHARACTER SET GBK COLLATE gbk_chinese_ci;

alter database dbtest CHARACTER SET utf8 COLLATE utf8_general_ci;

— 创建表时,设置表、字段编码

use dbtest;

drop table if exists tbtest;

create table tbtest(

id int(10) auto_increment,

user_name varchar(60) CHARACTER SET GBK COLLATE gbk_chinese_ci,

email varchar(60),

PRIMARY key(id)

)CHARACTER SET utf8 COLLATE utf8_general_ci;

— 修改表编码

alter table tbtest character set utf8 COLLATE utf8_general_ci;

— 修改字段编码

ALTER TABLE tbtest MODIFY email VARCHAR(60) CHARACTER SET utf8 COLLATE utf8_general_ci;

— 查看所有的字符编码

SHOW CHARACTER SET;

— 查看创建数据库的指令并查看数据库使用的编码

show create database dbtest;

— 查看数据库编码:

show variables like ‘%char%’;

— 设置character_set_server、set character_set_client和set character_set_results

set character_set_server = utf8; — 服务器的默认字符集。使用这个语句可以修改成功,但重启服务后会失效。根本的办法大春团是修改配置MYSQL文件MY.INI,

character_set_server=utf8,配置到mysqld字段下。

set character_set_client = gbk; — 来自客户端的语句的字符集。服务器使用character_set_client变量作为客户端发送的查询中使用的字符集。

set character_set_results = gbk; — 用于向客户端返回查询结果的字符集。森猜character_set_results变量指示服务器返回查询结果到客户端使用的字符集。包括结果数据,例如列值和结果元数据(如列名)。

— 查看某字段使用的编码:

SELECT CHARSET(email) FROM tbtest;

ASCII

用途:用来映射简单的单字节字符,比如大小写英文字母、阿拉伯数字、常用的标点符、运算符、控制字符等。

编码范围:U+U+007F

注意:对于用这类字符的场景够用了,但是却无法表达比如汉字,日文等编码。

2. UNICODE

用途:用来映射包含 ASCII 以内的其他的所有字符。

编码范围:U+U+10FFFF

注意:ASCII 是 UNICODE 的子集,ASCII 编码的字符可以无损带迟亏转换为 UNICODE 编码的字符。

MySQL 常用字符集

1. Latin1

Latin1 是 cp1252 或者 ISO的别名。ISO编码是单字节编码,向下兼容 ASCII。

编码范围:U+U+00FF

ISO收录的字符除 ASCII 收录的字符外,还包括西欧语言、希腊语、泰语、阿拉伯语、希伯来语对应的文字符号。

单字节内的空间都被 ISO编码占用,所以能够用 ISO编码存储、传输其他任何编码的字节流。

比如把一个 Utf8mb4 的编码或者 GBK 的编码存入 Latin1,不会有任何问题。因为 Latin1 保留了原始的字节流,这也就是 MySQL 长期以来把 Latin1 做默认字符集的原因。

但是由于 Latin1 对任何字符都存放字节流,造成了字符个数的浪费。

比如:

CHAR(10) CHARACTER SET LATIN1;CHAR(10) CHARACTER SET UTF8;

该字段中存储字符个数 UTF8 是 Latin1 的三倍!!!

2. GB18030

GB18030 是中国官方标准字符集,向前兼容 GBK、GB2312,是这两个的超集。用 1、2、4 个字节分别表示一个符号。比如对一般中文字符,默认是用两个字节编码存储。Windows 系统,默认用的就是 GB18030。

若只是存储中文字符,那 GB18030 更佳。

原因有两点:

1)占用空间小,比如比 UTF8 小。

2)存储的汉字根据拼音来排序,检索快。

3. UTF8

UTF8 是 Unicode 的编码实现,旦悔可以存储 UNICODE 编码对应的任何字符, 这也是使用最多的一种编码。更大的特点就蠢神是变长的编码方式,用 1 到 4 个字节表示一个符号,可以根据不同的符号编码字节长度。

字母或数字用 1 字节,汉字用 3 字节,emoji 表情符号用 4 字节。UTF8 字符集目前是使用最广泛的。

注意!MySQL 里常说的 UTF8 是 UTF8MB3 的别名,UTF8MB3 是 UTF8MB4 的子集,UTF8MB4 才是真正的 4 字节 UTF8 字符集!

UTF8MB3 表示更大支持 3 个字节存储字符,UTF8MB4 表示更大 4 个字节存储字符。根据实际需要和未来展望,MySQL 8.0 已经默认用 UTF8MB4 基础字符集。

新建数据库字符集和排序规则的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于新建数据库字符集和排序规则,数据库优化之新建字符集和排序规则,如何建立Mysql数据库,mysql用sql语句创建表和数据库怎么设置字符编码’的信息别忘了在本站进行查找喔。

香港服务器首选树叶云,2H2G首月10元开通。
树叶云(shuyeidc.com)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/248965.html<

(0)
运维的头像运维
上一篇2025-04-27 20:08
下一篇 2025-04-27 20:09

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注