上海制作网站公司哪家好推广广告

news/2025/9/23 13:43:29/文章来源:
上海制作网站公司哪家好,推广广告,网站程序设置主页面,短视频制作软件存储引擎 MySQL体系结构 连接层#xff1a; 最上层是一些客户端和连接服务#xff0c;主要完成一些类似于连接处理、授权认证、及相关的安全方案。服务器也会为安全接入的每个客户端验证它所具有的操作权限。服务层#xff1a; 第二层架构主要完成大多数的核心服务功能 最上层是一些客户端和连接服务主要完成一些类似于连接处理、授权认证、及相关的安全方案。服务器也会为安全接入的每个客户端验证它所具有的操作权限。服务层 第二层架构主要完成大多数的核心服务功能如SQL接口经完成缓存的查询SQL的分析和优化部分内置函数的执行。所有跨存储引擎的功能也在这一层实现。如 过程、函数等。引擎层 存储引擎真正的负责了MySQL中数据的存储和提取服务器通过API和存储引擎进行通信。不同的存储引擎具有不同的功能这样我们可以感觉自己的需要来选去合适的存储引擎。存储层 主要是将数据存储在文件系统之上并完成与存储引擎的交互。 存储引擎简介 存储引擎就是存储数据、建立索引、更新、查询数据等技术的实现方式。存储引擎是基于表的而不是基于库的所有存储引擎又称为表类型。 -- -------------------------------------------------进阶 -- 查询创建表语句 show create table dept; -- 查询支持的存储引擎 show engines ; -- 创建一个my_MyISAMy表用MyISAM引擎 create table my_MyISAM(id int,name varchar(10) )engineMyISAM; 存储引擎特点 InnoDB 介绍 InnoDB是一种兼顾可靠性和高性能的通用存储引擎在MySQL5.5之后InnoDB是默认的MySQL存储引擎。特点 DML操作遵循ACID模型支持事务行级锁提高并发访问性能支持外键约束保证数据的完整性和正确性文件 xxx.ibd:xxx代表的是表名innoDB引擎的每张表都会对应这样一个表空间文还能存储该表的表结构、数据和索引参数是innodb_file_per_tableMyISAM 介绍 MyISAM是MySQL早期的默认存储引擎。特点 不支持事务不支持外键支持表锁不支持行锁访问速度快文件 xxx.sdi:存储表结构信息xxx.MYD:存储数据xxx.MYI:存储索引Memory 介绍 Memory引擎的表数据是存储在内存中由于受到硬件的问题或断电问题的影响只能做为临时表或缓存使用特点 内存存放hash索引默认文件 xxx.sdi存储表结构信息 存储引擎选择 在选择存储引擎时应该根据应用系统的特点选择合适的存储引擎。对于复杂的应用系统还可以根据实际情况选择多种存储引擎进行组 合。 lnnoDB是Mysql的默认存储引擎支持事务、外键。如果应用对事务的完整性有比较高的要求在并发条件下要求数据的一致 性数据操作除了插入和查询之外还包含很多的更新、删除操作那么InnoDB存储引擎是比较合适的选择。MylISAM如果应用是以读操作和插入操作为主只有很少的更新和删除操作并且对事务的完整性、并发性要求不是很高那 么选择这个存储引擎是非常合适的。MEMORY将所有数据保存在内存中访问速度快通常用于临时表及缓存。MEMORY的缺陷就是对表的大小有限制太大的表 无法缓存在内存中而且无法保障数据的安全性。 小结 索引 介绍 索引index)是帮助MySQL高效获取数据的数据结构有序。在数据之外数据库系统还维护着满足特定查找算法的数据结构这些 数据结构以某种方式引用指向数据这样就可以在这些数据结构上实现高级查找算法这种数据结构就是索引。 优缺点 优势 提高数据检索的效率降低数据库的I0成本通过索引列对数据进行排序降低数据排序的成本降低CPU的消 耗。 劣势 索引列也是要占用空间的。索引大大提高了查询效率同时却也降低更新表的速度如对表进 行INSERT、UPDATE、DELETE时效率降低。 索引结构 MySQL的索引是在存储引擎层实现的不同的存储引擎有不同的结构主要包含以下几种 索引结构描述BTree索引最常见的索引类型大部分引擎都支持B树索引Hash索引底层数据结构是用哈希表实现的只有精确匹配索引列的查询才有效不支持范围查询R-tree(空间索引)空间索引是MylSAM引擎的一个特殊索引类型主要用于地理空间数据类型通常使用较少Full-text(全文索引)是一种通过建立倒排索引快速匹配文档的方式。类似于Lucene,Solr,ES 我们平常所说的索引如果没有特别指明都是指B树结构组织的索引。 索引InnoDBMyISAMMemoryBtree索引支持支持支持Hash索引不支持不支持支持R-tree索引不支持支持不支持Full-text5.6版本之后支持支持不支持 B-Tree(多路平衡查找树) 以一颗最大度数max-degree)为5(5阶)的b-tree为例每个节点最多存储4个key5个指针 具体动态变化的过程可以参考网站:https://www.cs.usfca.edu/~galles/visualization/BTree.html BTree 相对于B-Tree区别 ①.所有的数据都会出现在叶子节点②.叶子节点形成一个单向链表 MySQL索引数据结构对经典的BTree进行了优化。在原BTree的基础上增加一个指向相邻叶子节点的链表指针就形成了带有顺序指针的BTree提高区间访问的性能。 Hash 哈希索引就是采用一定的hash算法将键值换算成新的hash值映射到对应的槽位上然后存储在hash表中。 如果两个(或多个)键值映射到一个相同的槽位上他们就产生了hash冲突(也称为hash碰撞可以通过链表来解决。 Hash索引特点 Hash索引只能用于对等比较(in)不支持范围查询(between,.)无法利用索引完成排序操作查询效率高通常只需要一次检索就可以了效率通常要高于Btree索引 存储引擎支持 在MySQL中支持hash索引的是Memory引擎而InnoDB中具有自适应hash功能hash索引是存储引擎根据BTree索引在指定条件下自动构建的。 为什么InnoDB存储引擎选择使用Btree索引结构 相对于二叉树层级更少搜索效率高对于B-tree无论是叶子节点还是非叶子节点都会保存数据这样导致一 页中存储的键值减少指针跟着减少要同样保存大量数据只能增加树的 高度导致性能降低相对Hash索引Btree支持范围匹配及排序操作 索引分类 在InnoDB存储引擎中根据索引的存储形式又可以分为以下两种 聚集索引选取规则 如果存在主键主键索引就是聚集索引。如果不存在主键将使用第一个唯一UNIQUE索引作为聚集索引。如果表没有主键或没有合适的唯一索引则InnoDB会自动生成一个rowid作为隐藏的聚集索引。 回表查询先在二级索引中找到对应的主键值再到聚集索引中拿到这一行的行数据。 索引语法  创建索引 create [unique|fulltext] index index_name on table_name(index_col_name); 查看索引 show index from table_name; 删除索引 drop index index_name on table_name SQL性能分析工具 SQL执行频率 MySQL客户端连接成功后通过show[sessionlglobal] status命令可以提供服务器状态信息。通过如下指令可以查看当前数据库的 INSERT、UPDATE、DELETE、SELECT的访问频次 show global status like Com_______;慢查询日志 慢查询日志记录了所有执行时间超过指定参数long_query_time, 单位秒默认10秒的所有SQL语句的日志。 查询慢查询日志状态 show variables like slow_query_log;MySQL的慢查询日志默认没有开启需要在MySQL的配置文件/etc/my.cnf)中配置如下信息 #开启MySQL慢日志查询开关 slow_query_log1 #设置慢日志的时间为2秒SQL语句执行时间超过2秒就会视为慢查询记录慢查询日志 long_query_time2profile详情 执行一系列的业务SQL的操作然后通过如下指令查看指令的执行耗时 #查看每一条SQL的耗时基本情况 show profiles; #查看指定query_id的SQL语句各个阶段的耗时情况 show profile for query query_id; #查看指定query_id的SQL语句CPU的使用情况 show profile cpu for query query_id;explain执行计划 EXPLAIN 或者 DESC命令获取 MySQL如何执行SELECT语句的信息包括在SELECT语句执行过程中表如何连接和连接的顺序。  语法#直接在select语句之前加上关键字explain/ desc EXPLAIN SELECT 字段列表 FROM 表名 WHERE 条件 EXPLAIN 执行计划各字段含义 ld select查询的序列号表示查询中执行select子句或者是操作表的顺序id相同执行顺序从上到下id不同值越大越先执行)。select_type 表示SELECT的类型常见的取值有SIMPLE简单表即不使用表连接或者子查询、PRIMARY主查询即外层的查询、 UNIONUNION中的第二个或者后面的查询语句、SUBQUERYSELECT/WHERE之后包含了子查询等type 表示连接类型性能由好到差的连接类型为NULL、system、const、eq_ref、ref、range、index、all。possible_key 显示可能应用在这张表上的索引一个或多个。Key 实际使用的索引如果为NULL则没有使用索引。Key_len 表示索引中使用的字节数该值为索引字段最大可能长度并非实际使用长度在不损失精确性的前提下长度越短越好。rows MySQL认为必须要执行查询的行数在innodb引擎的表中是一个估计值可能并不总是准确的。filtered 表示返回结果的行数占需读取行数的百分比filtered的值越大越好。 SQL优化 视图/存储过程/触发器 视图 介绍 视图View是一种虚拟存在的表。视图中的数据并不在数据库中实际存在行和列数据来自定义视图的查询中使用的表并且是在使用视图时动态生成的。 通俗的讲视图只保存了查询的SQL逻辑不保存查询结果。所以我们在创建视图的时候主要的工作就落在创建这条SQL查询语句上。 语法 创建 CREATE [OR REPLACE] VIEW 视图名称[列名列表)]AS SELECT语句[WITH[CASCADED|LOCAL]CHECK OPTION]查询 查看创建视图语句SHOW CREATE VIEW 视图名称 查看视图数据SELECT*FROM 视图名称.…修改 方式一CREATE OR REPLACE VIEW 视图名称[列名列表]AS SELECT语句[WITH[CASCADED|LOCAL]CHECK OPTION] 方式二ALTER VIEW 视图名称[列名列表]AS SELECT语句[WITH[CASCADED|LOCAL]CHECK OPTION]删除 DROP VIEW [IF EXISTS] 视图名称[视图名称]…视图的检查选项 当使用WITH CHECK OPTION子句创建视图时MySQL会通过视图检查正在更改的每个行例如插入更新删除以使其符合视图的定 义。 MySQL允许基于另一个视图创建视图它还会检查依赖视图中的规则以保持一致性。为了确定检查的范围mysql提供了两个选项 CASCADED和LOCAL默认值为CASCADED。 CASCADED : create or replace view stu_v1 as select sid, sname from student where sid20; select * from stu_v1; insert into stu_v1 values (21,hi);-- 插入成功 insert into stu_v1 values (19,ho);-- 插入成功不会检查增删改操作create or replace view stu_v3 as select sid, sname from stu_v1 where sid5 with cascaded check option ; select * from stu_v3; insert into stu_v3 values (21,hii);-- 插入失败 insert into stu_v3 values (3,hoo);-- 插入失败 insert into stu_v3 values (11,hio);-- 插入成功create or replace view stu_v5 as select sid, sname from stu_v3 where sid15; insert into stu_v5 values (17,hii);-- 插入成功 insert into stu_v5 values (21,hoo);-- 插入失败 insert into stu_v5 values (5,hio);-- 插入失败创建视图时加with cascaded级联的 check option的话会检查当前视图还会检查当前视图所以依赖的所有视图它的条件是否满足 local create or replace view stu_v2 as select sid, sname from student where sid20; select * from stu_v2; insert into stu_v2 values (21,hi);-- 插入成功,不满足v2 insert into stu_v2 values (19,ho);-- 插入成功不会检查增删改操作create or replace view stu_v4 as select sid, sname from stu_v2 where sid5 with local check option ; select * from stu_v4; insert into stu_v4 values (21,hii);-- 插入成功,不满足v2 insert into stu_v4 values (3,hoo);-- 插入失败不满足v4 insert into stu_v4 values (11,hio);-- 插入成功create or replace view stu_v6 as select sid, sname from stu_v4 where sid15; insert into stu_v6 values (17,hii);-- 插入成功不满足v6 insert into stu_v6 values (21,hoo);-- 插入成功不满足v2 insert into stu_v6 values (5,hio);-- 插入失败,不满足v4定义视图时有检查条件就进行检查没有就不进行检查递归的检查依赖 视图的更新 要使视图可更新视图中的行与基础表中的行之间必须存在一对一的关系。 如果视图包含以下任何一项则该视图不可更新 1.聚合函数或窗口函数SUM、MIN、MAX、COUNT等 2. DISTINCT Aae 3. GROUP BY 4. HAVING 5.UNION或者UNION ALL 作用 简单 视图不仅可以简化用户对数据的理解也可以简化他们的操作。那些被经常使用的查询可以被定义为视图从而使得用户不必为以后的操作 每次指定全部的条件。安全 数据库可以授权但不能授权到数据库特定行和特定的列上。通过视图用户只能查询和修改他们所能见到的数据数据独立 视图可帮助用户屏蔽真实表结构变化带来的影响。 触发器 介绍 触发器是与表有关的数据库对象指在insert/update/delete之前或之后触发并执行触发器中定义的SQL语句集合。触发器的这种特 性可以协助应用在数据库端确保数据的完整性日志记录数据校验等操作。 使用别名OLD和NEW来引用触发器中发生变化的记录内容这与其他的数据库是相似的。现在触发器还只支持行级触发不支持语句级触发。 语法 创建 CREATE TRIGGER trigger_name BEFORE/AFTER INSERT/UPDATE/DELETE ON tbl name FOR EACH ROW --行级触发器 BEGIN trigger_stmt ; END;查看 SHOW TRIGGERS ;删除 DROP TRIGGER [schema_name.]trigger_name;-如果没有指定schema_name,默认为当前数据库。-- 准备工作日志表 create table emoloyee_logs(id int(11) not null auto_increment primary key ,operate varchar(20) not null ,operate_time datetime not null,operate_id int(11) not null ,operate_params varchar(500) ); -- 插入数据触发器 create trigger tb_employee_insert_triggerafter insert on employee for each row begininsert into emoloyee_logs(id,operate,operate_time,operate_id,operate_params) values(null,insert,now(),new.eno,concat(插入的数为id,new.eno)); end -- 查看触发器 show triggers ;-- 插入数据 insert into employee values (7,小2,男,项目部,1500);-- 修改数据的触发器 create trigger tb_employee_update_triggerafter update on employee for each row begininsert into emoloyee_logs(id,operate,operate_time,operate_id,operate_params) values(null,update,now(),new.eno,concat(更新之前的数为name,old.ename,| 更新之后的数name:,new.ename)); end-- 更新数据 update employee set ename张1 where employee.eno3;-- 删除数据的触发器 create trigger tb_employee_delete_triggerafter delete on employee for each row begininsert into emoloyee_logs(id,operate,operate_time,operate_id,operate_params) values(null,delete,now(),old.eno,concat(删除之前的数为name,old.ename)); end-- 删除数据 delete from employee where eno6; 案例1 create trigger sc_update_triggerbefore update on sc for each row beginif old.grade-new.grade10 theninsert into sc_G values(new.sno,new.cno,old.grade,now());end if; end; -- ---- show triggers ; -- 更新 update sc set gradegrade-30 where sno10060101cno07294001; update sc set gradegrade-5 where sno10060102cno07294002; update sc set gradegrade-10 where sno10060103cno07294002; -- ----------------------------------------2 create table avg_sno(sno varchar(20) not null ,avg_sno double comment 平均成绩 ); -- 触发器 create trigger avg_sno_triggerafter update on sc for each row begininsert into avg_sno values(NEW.sno,(select avg(new.grade) from sc)); end;-- ------ update sc set gradegrade-20 where sno10060101cno07294001; update sc set gradegrade-5 where sno10060102cno07294002; update sc set gradegrade-10 where sno10060103cno07294002;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/912722.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

那个网站做国外售货用ps做网站尺寸

创作不易,请大家多鼓励支持。 在现实生活中,很多人的资料是不愿意公布在互联网上的,但是我们又要使用人工智能的能力帮我们处理文件、做决策、执行命令那怎么办呢?于是我们构建自己或公司的私人GPT变得非常重要。 先看效果 他的…

织梦采集侠官方网站济南 网站 建设

1.委托模式 委托模式&#xff1a;操作对象不会去处理某段逻辑&#xff0c;而是会把工作委托给另外一个辅助对象去处理。 例如我们要设计一个自定义类的来实现Set&#xff0c;可以将该实现委托给另一个对象&#xff1a; class MySet<T> (val helperSet: HashSet<T>…

上海网站开发怎么做苏州网页制作设计

一、简述传统的lru链表lru&#xff1a;least recently used相信大家对lru链表是不陌生的&#xff0c;它算是一种基础的数据结构吧&#xff0c;而且想必面试时也被问到过什么是lru链表&#xff0c;甚至是让你手写一个lru链表。想必你已经知道了mysql的buffer pool机制以及mysql组…

不用vip也能看的黄台的app中山seo技术

题目传送门&#xff1a;LOJ #3156。 题意简述&#xff1a; 有一张 \(n\) 个点 \(m\) 条边的有向图&#xff0c;边有两个权值 \(p_i\) 和 \(q_i\)&#xff08;\(p_i<q_i\)&#xff09;表示若 \(p_i\) 时刻在这条边的起点&#xff0c;则 \(q_i\) 时刻能到达这条边的终点。 你需…

推荐微网站建设哪家网站建设公司好

基础命令 1、ls(list) 用法1: # ls 含义: 列出当前工作目录下所有的 文件/文件夹 的名称 用法2: # ls 路径 含义: 列出指定路径目录下所有的 文件/文件夹 的名称 用法3: # ls 选项 路径 含义: 以指定的格式来显示指定目录下文件夹的名称 栗子: # ls -l 路径 -->> 表…

vscode的ssh-remote插件经常掉线

现象: 本地的mobaxterm的连接服务器一直是好的,vscode编辑服务器上的代码会一会儿就断线,写入不成功,要不就是ssh断开了,需要重新加载窗口。成功解决: 把服务器,属主目录下的vscode相关的全部删除掉,然后重新连…

商业性质网站设计医院客户做网站找谁

1. 用法 返回指定日期的给定日期部分的名称&#xff0c;如年份、月份、星期几等。 2. 语法 DATENAME ( datepart , date )datepart DATENAME 将返回的 date 参数的特定部分。 此表列出了所有有效的 datepart 参数 。 select getdate() 2023-12-01 16:25:47.513 datepart缩写…

dede网站制作app制作器软件下载

在处理器以八核成为主流、硬盘以T而论的今天&#xff0c;计算机辅助设计软件是设计师的得力工具。用铅笔、尺子要时间才能画好的一个室内空间平面布置图&#xff0c;如果用CAD可能一个小时都不用就完成了&#xff0c;而且很方便修改&#xff0c;可见在效率方面&#xff0c;电脑…

网站没收录可以做排名汕头seo网络推广服务

本篇文章有ChatGPT生成&#xff0c;觉得说的有理&#xff0c;给予刊登。 微调大型语言模型 描述&#xff1a; 微调是指在一个预训练的语言模型基础上&#xff0c;使用特定任务或领域的特定数据集进行进一步训练。这一过程会更新模型的权重&#xff0c;以提高其在新数据集上…

网站开发的项目流程物流网站后台

公司的服务器可能会存在这样一种情况&#xff0c;具体的应用是部署在一个或多个内网服务器上&#xff0c;然后由一台外网服务器通过代理的方式对外提供服务&#xff0c;例如下图&#xff1a;我们如果需要进入到内网服务器进行操作就必须先要进入外网服务器&#xff0c;然后再远…

所得税汇算是在12366网站做吗网站建设需要建站公司沟通哪些

Unity3D&#xff08;U3D&#xff09; 1.视觉效果&#xff1a;Unity3D相对UE4略逊、手机3D应用、3D游戏轻量级首选&#xff0c;支持跨平台、设备兼容性更好 2.产品力&#xff1a;Unity3D更加多元化&#xff0c;各平台都有代表作&#xff0c;比如《王者荣耀》《炉石传说》《纪念…

建设网站 xp济南网络有限公司

我在2018年,写过一篇《如何对基因组序列进行注释》,简书上有4万多人阅读,CSDN上有8万多人阅读,说明确实有不少人有相关的需求。我自己也琢磨了一段时间,刚好过年回家,简单的梳理一下。 最初的时候,我的思路就是EvidenceModeler(后面简称EVM)的思路,训练不同从头预测…

汽车网站页面上海公司招聘

备用纹理图像规范命令 Alternate Texture Image Specification Commands 二维和一维纹理图像也可以使用直接从帧缓冲区获取的图像数据进行指定&#xff0c;并且可以重新指定现有纹理图像的矩形子区域。 定义一个二维纹理图像 void glCopyTexImage2D( enum target, int level…

乐清英文网站建设wordpress缩略图只生成full

大家在学习entityframework的时候&#xff0c;都知道那linq写的叫一个爽&#xff0c;再也不用区分不同RDMS的sql版本差异了&#xff0c;但是呢&#xff0c;高效率带来了差灵活性&#xff0c;我们无法控制sql的生成策略&#xff0c;所以必须不要让自己缺乏好的工具去监控sql&…

记录第一次CCPC(2025)网络赛前后

2025年09月21 00:38 竹叶雨——竹磬 总起 ​ 今天进行了CCPC系列赛事的第一次尝试,按照总分总的形式,先说一句:非常的爽!在次,先感谢一下同队的队友:沽雨,黯叶。 ​ 接下来就是记录流水账了: 事件1:差点…

河北做网站电话网站开发相关会议

论文笔记整理&#xff1a;谭亦鸣&#xff0c;东南大学博士生&#xff0c;研究方向为跨语言知识图谱问答。来源&#xff1a;NLPCC2018链接&#xff1a;http://tcci.ccf.org.cn/conference/2018/papers/EV7.pdf问题背景与动机作者认为&#xff0c;目前的问题语料生成主要依赖于人…

第四周课前思考

1. 为什么说 Java 中的所有类都 is-a Object? 因为 Object 是所有类的最终父类,其他类都直接或间接继承自 Object 类。 2. 在 JDK 文档中查找 Object 的 toString 方法。说一说,该方法有什么用?使用 Eclipse 查看 …

声像新境:东芝电视以火箭炮SOUND重塑家庭艺术馆新标准

时代斗转星移,科技日新月异。电视从曾经的“镇宅大件”,走到今天成为日常生活的消费电子品,参数虽不断拔高,但童年记忆里那种“整间屋子都被声音点亮”的震撼,却久违难再。或许人们误把性能指标当作体验答案,而忽…

详细介绍:广告点击场景下的 YOLO-world 模型训练失败及其解决办法

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

手机网站设计与实现是什么珠海门户网站建设费用

dispaly:grid;网格布局 学习博客地址 http://www.ruanyifeng.com/blog/2019/03/grid-layout-tutorial.html http://www.ruanyifeng.com/blog/2020/08/five-css-layouts-in-one-line.html