建站行业消失了吗网站建设与维护岗位职责
web/
2025/10/6 6:53:43/
文章来源:
建站行业消失了吗,网站建设与维护岗位职责,哪些网站可以做一些任务挣钱,用旧电脑做网站1.MySQL请求处理 1.1.查询缓存 MySQL 服务器程序处理查询请求时#xff0c;会把刚刚处理过的查询请求和结果缓存起来#xff0c;如果下一次有一模一样的请求过来#xff0c;直接从缓存中查找结果就好了#xff0c;就不用再傻呵呵的去底层的表中查找了。这个查询缓存可以在不…1.MySQL请求处理 1.1.查询缓存 MySQL 服务器程序处理查询请求时会把刚刚处理过的查询请求和结果缓存起来如果下一次有一模一样的请求过来直接从缓存中查找结果就好了就不用再傻呵呵的去底层的表中查找了。这个查询缓存可以在不同客户端之间共享也就是说如果客户端A刚刚查询了一个语句而客户端B之后发送了同样的查询请求那么客户端B的这次查询就可以直接使用查询缓存中的数据。
如果两个查询请求在任何字符上的不同例如空格、注释、大小写都会导致缓存不会命中。另外如果查询请求中包含某些系统函数、用户自定义变量和函数、一些系统表如mysql 、information_schema、 performance_schema 数据库中的表那这个请求就不会被缓存。
不过既然是缓存那就有它缓存失效的时候。MySQL的缓存系统会监测涉及到的每张表只要该表的结构或者数据被修改如对该表使用了 INSERT 、 UPDATE 、 DELETE 、 TRUNCATE TABLE 、 ALTER TABLE 、 DROP TABLE 或 DROP DATABASE 语句那使用该表的所有高速缓存查询都将变为无效并从高速缓存中删除
从 MySQL 5.7.20 开始不推荐使用查询缓存并在MySQL 8.0中删除。因为缓存的维护也需要较多开销。
1.2.分析请求内容 1.3.对请求分析后对实现方式进行优化。优化后得到执行计划。执行计划就是服务端如何操作以便响应此请求。
2.存储引擎 将MySQL数据访问部分提取成一个模块这个模块就是存储引擎。存储对外提供统一的数据访问接口。存储引擎部分主要分析InnoDB。 InnoDB支持以下特性 B-tree indexes Backup/point-in-time recovery Clustered indexes Compressed data Data caches Encrypted data Foreign key support Full-text search indexes Geospatial data type support Geospatial indexing support Index caches Locking granularity–Row MVCC Query cache support Replication support Storage limits–64TB Transactions Update statistics for data dictionary
3.存储引擎粒度 每个表允许设置独立的存储引擎。 示例创建时指定
mysql CREATE TABLE engine_demo_table(- i int- ) ENGINE MyISAM;示例创建后修改
mysql ALTER TABLE engine_demo_table ENGINE InnoDB;4.字符集和比较规则 4.1.字符集 建立字符与二进制数据的映射关系了建立这个关系最起码要搞清楚两件事儿 (1). 你要把哪些字符映射成二进制数据 (2). 怎么映射 将一个字符映射成一个二进制数据的过程也叫做 编码 将一个二进制数据映射到一个字符的过程叫做 解码 。
人们抽象出一个 字符集 的概念来描述某个字符范围的编码规则。 比方说我们来自定义一个名称为 test 的字符集它包含的字符范围和编码规则如下 a.包含字符 ‘a’ 、 ‘b’ 、 ‘A’ 、 ‘B’ 。 b.编码规则如下 采用1个字节编码一个字符的形式字符和字节的映射关系如下 ‘a’ - 00000001 (十六进制0x01) ‘b’ - 00000010 (十六进制0x02) ‘A’ - 00000011 (十六进制0x03) ‘B’ - 00000100 (十六进制0x04)
有了 test 字符集我们就可以用二进制形式表示一些字符串了下边是一些字符串用 test 字符集编码后的二进制表示 ‘bA’ - 0000001000000011 (十六进制0x0203) ‘baB’ - 000000100000000100000100 (十六进制0x020104) ‘cd’ - 无法表示字符集 test 不包含字符’c’和’d’
4.2.比较规则简介 在我们确定了 test 字符集表示字符的范围以及编码规则后怎么比较两个字符的大小呢 最容易想到的就是直接比较这两个字符对应的二进制编码的大小比方说字符 ‘a’ 的编码为 0x01 字符 ‘b’ 的编码为 0x02 所以 ‘a’ 小于 ‘b’ 这种简单的比较规则也可以被称为二进制比较规则英文名为 binary collation 。
二进制比较规则是简单但有时候并不符合现实需求比如在很多场合对于英文字符我们都是不区分大小写的也就是说 ‘a’ 和 ‘A’ 是相等的在这种场合下就不能简单粗暴的使用二进制比较规则了这时候我们可以这样指定比较规则 (1). 将两个大小写不同的字符全都转为大写或者小写。 (2). 再比较这两个字符对应的二进制数据。
同一种字符集可以有多种比较规则。
4.3.一些重要的字符集 我们看一下一些常用字符集的情况 (1). ASCII 字符集 共收录128个字符包括空格、标点符号、数字、大小写字母和一些不可见字符。由于总共才128个字符所以可以使用1个字节来进行编码我们看一些字符的编码方式 ‘L’ - 01001100十六进制0x4C十进制76 ‘M’ - 01001101十六进制0x4D十进制77 (2). ISO 8859-1 字符集 共收录256个字符是在 ASCII 字符集的基础上又扩充了128个西欧常用字符(包括德法两国的字母)也可以使用1个字节来进行编码。这个字符集也有一个别名 latin1 。 (3). GB2312 字符集 收录了汉字以及拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母。其中收录汉字6763个其他文字符号682个。同时这种字符集又兼容 ASCII 字符集所以在编码方式上显得有些奇怪
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/87788.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!