当前位置: 首页 > news >正文

游戏网站规划方案2023年的新闻时事热点论文

游戏网站规划方案,2023年的新闻时事热点论文,网站做优化的成本,网络营销专业分析其他资料 每日速记10道java面试题01-CSDN博客 每日速记10道java面试题02-CSDN博客 每日速记10道java面试题03-CSDN博客 每日速记10道java面试题04-CSDN博客 每日速记10道java面试题05-CSDN博客 每日速记10道java面试题06-CSDN博客 每日速记10道java面试题07-CSDN博客 每…

其他资料

每日速记10道java面试题01-CSDN博客

每日速记10道java面试题02-CSDN博客

每日速记10道java面试题03-CSDN博客

每日速记10道java面试题04-CSDN博客

每日速记10道java面试题05-CSDN博客

每日速记10道java面试题06-CSDN博客

每日速记10道java面试题07-CSDN博客

每日速记10道java面试题08-CSDN博客

每日速记10道java面试题09-CSDN博客

每日速记10道java面试题10-CSDN博客

每日速记10道java面试题11-CSDN博客

每日速记10道java面试题12-CSDN博客

目录

1.MySQL中的数据排序是怎么实现的?

2.那怎么去优化ORDER BY呢?

3.MySQL中的Change Buffer是什么?有什么作用?

 4.详细描述一下一条SQL语句在MySQL中的执行过程

5.MySQL的存储引擎有哪些?

6.MySQL的索引有哪些?

7.MySQLInnoDB 引擎中的聚集索引和非聚集索引有什么区别? 

8.MySQL索引的最左前缀匹配原则是什么?

9.MySQL的覆盖索引是什么?

10.MySQL的索引下推是什么?


1.MySQL中的数据排序是怎么实现的?

MySQL中的数据排序主要通过ORDER BY子句实现,其底层实现机制主要有两种方式:

使用索引排序:当ORDER BY子句中的列恰好有对应的索引时,MySQL可以直接利用索引来完成排序操作,这是最高效的排序方式。索引本身是有序的,所以MySQL只需要按照索引的顺序扫描即可得到排序后的结果。

文件排序(flesort):当无法使用索引进行排序时,MySQL会使用文件排序。这种方法会将需要排序的数据加载到内存中,然后在内存中进行排序。如果数据量较大,超过了系统变量 sort buffer size 的大小,还会使用临时文件来协助排序。

具体实现如下:

首先,MySQL会检查ORDER BY子句中的列是否有可用的索引,如果有可用的索引,MySQL会直接使用索引进行排序。如果没有可用的索引,MySQL会执行以下步骤:
1.从表中读取满足条件的所有行
2.对于每一行,只保存需要排序的列和可以唯一标识行的列(如主键)
3.使用快速排序算法在内存中对这些数据进行排序
4.如果数据量太大,会使用临时文件来辅助排序
5.根据排序结果回表查询所需的列

延伸→那怎么去优化ORDER BY呢?

2.那怎么去优化ORDER BY呢?

1.根据排序字段建立合适的索引,多字段排序时,也遵循最左前缀法则
2.尽量使用覆盖索引
3.多字段排序,一个升序一个降序,此时需要注意联合索引在创建时的规则(ASC/DESC)
4.如果不可避免的出现file sort,大数据量排序时,可以适当增大排序缓冲区大小sort_buffer_size(默认256K)   SQL语句:show variables like 'sort_buffer_size';

3.MySQL中的Change Buffer是什么?有什么作用?

Change Buffer ,更改缓冲区(针对于非唯一二级索引页),在执行 DML语句(增删改)时,如果这些数据Page 没有在Buffer Pool中,不会直接操作磁盘,而会将数据变更存在更改缓冲区Change Buffer 中,在未来数据被读取时,再将数据合并恢复到Buffer Pool中,再将合并后的数据刷新到磁盘中。

至于Buffer Pool是什么?可以去参考我的另一篇文章:MySQL数据表中的InnoDB引擎原理(存储结构+架构+事务原理+MVCC)_mysql innodb存储引擎实现原理-CSDN博客

 4.详细描述一下一条SQL语句在MySQL中的执行过程

1.当客户端的SQL发送到MySQL时,第一步是来到serve层的连接器,连接器会去验证身份和权限,因为你有连接数据库的权限不代表就有操作数据库的权限;

2.下一步就到了分析器进行SQL语法和词法分析,判断你这条SQL是什么类型的语句以及携带什么样的参数;

3.经过分析器之后就到了优化器,优化器会帮助我们选择使用哪个索引以及如果这条SQL涉及多表查询,优化器还会帮我们选择连表顺序;

4.最后到达执行器,执行器会操作存储引擎提供的接口并执行经过分析器分析以及优化器优化过后的SQL语句,并返回结果。

5.MySQL的存储引擎有哪些?

1.InnoDB:是Mysq!默认的存储引擎,支持事务,表级锁和粒度更小的行级锁,具有事务提交,回滚和数据崩溃恢复的功能
2. MyISAM: 是之前Mysql默认的存储引擎,不支持事务和行级锁,支持表级锁,锁的粒度较大,更新性能较差,更适合读多写少的场景
3.Memory:相较于InnoDB和MyISAM,Memroy是存在于内存中的,速度更快,但是不具有持久化的能力,适合临时存储的场景

6.MySQL的索引有哪些?

按索引的存储形式来分:聚集索引和二级索引

按索引的具体类型来分有:主键索引、唯一索引、常规索引、全文索引。

关于索引的其他只是可以参考我其他文章:深度解析MySQL数据库索引是什么?有什么用?怎么用?_mysql索引的使用和原理-CSDN博客

7.MySQLInnoDB 引擎中的聚集索引和非聚集索引有什么区别? 

 聚集索引:索引叶子节点存的是数据行,可以直接访问整条数据,而且一张表只有一个聚集索引,通常是主键索引。

非聚集索引:索引叶子节点存的是主键和对应的索引列,一般走非聚集索引,如果不是覆盖索引还有回去聚集索引再查一次数据,这个过程叫回表查询。

8.MySQL索引的最左前缀匹配原则是什么?

在使用联合索引时,查询条件必须从索引的最左侧开始匹配。如果一个联合索引包含多个列,查询条件必须包含第一个列的条件,然后是第二个列,以此类推。

具体例子可以看以下我的文章:

深度解析MySQL数据库索引是什么?有什么用?怎么用?_mysql索引的使用和原理-CSDN博客

9.MySQL的覆盖索引是什么?

MySQL 的覆盖索引(Covering lndex)是指二级索引中包含了查询所需的所有字段,从而使查询可以仅通过访问二级索引而不需要访问实际的表数据(主键索引)。,不需要回表查询,性能就会好很多。

10.MySQL的索引下推是什么?

索引下推是一种减少回表查询,提高查询效率的技术。它允许 MySQL 在使用索引查找数据时,将部分查询条件下推到存储引擎层过滤,从而减少需要从表中读取的数据行,减少了 IO(本该由 Server 层做操作,交由存储引擎层因此叫做“下推”)

简单来说就是:

如果没有索引下推,流程就是通过二级索引查到主键id后回表完再进行where条件过滤 

有索引下推,流程就是二级索引查到数据后直接where过滤一遍 再进行回表 减少回表的次数

其实就是回表前再过滤一下,这样子回表查询的时候少查了一些数据,提高效率。

http://www.ds6.com.cn/news/44319.html

相关文章:

  • 网站设计的汕头公司如何优化网络
  • 什么是手机网站百度自动点击器下载
  • 深圳市造价信息网官网入口谷歌seo最好的公司
  • 网站的栏目关键词google官网注册账号入口
  • 做化妆品原料批发网站有哪些宁德seo推广
  • 网站流量很少百度指数下载
  • 营销自己的网站网站seo价格
  • 网站怎么做图片超链接dw腾讯广告投放平台
  • 成都网站建设推荐安徽秒搜科技网络推广需要多少钱
  • 邢台做网站可信赖网络推广项目计划书
  • 开单独网站做a货鞋网站优化一年多少钱
  • 中国文化网站建设策划书网络营销工具
  • 东莞网站制作公司怎样在百度上建立网站
  • 怎么注册一个网站做色流网络推广推广培训
  • 石家庄网站建设成功案例国内做网站比较好的公司
  • 哪里可以做足球网站网站竞价推广怎么做
  • jsp做的大型网站手机优化大师官方免费下载
  • 销售网站怎么做seo商学院
  • 郑州橱柜网站建设美国seo薪酬
  • 昆明做网站方案百度移动端优化
  • 企业网站开发综合实训网站搭建平台
  • 惠州建站平台常用的网络营销平台有哪些
  • 网站建设怎么开发客户网络推广外包公司
  • 国家建设部门三类人员官方网站网站案例
  • 安徽泗县建设银行网站市场营销培训
  • 广州乐地网站建设公司职业技术培训
  • 怎样做网站宣传自己的宾馆网络销售怎么做才能做好
  • 四站合一网站建设蜗牛精灵seo
  • 做外挂的网站叫蜗牛百度校招
  • 网站发多少篇文章开始做外链广东seo推广公司