游客6j4ilg35ingm2个人页面-阿里云开发者社区

个人头像照片 游客6j4ilg35ingm2 TA的个人档案
0
2317

个人介绍

暂无个人介绍

擅长的技术

获得更多能力
通用技术能力:

暂时未有相关通用技术能力~

云产品技术能力:

暂时未有相关云产品技术能力~

阿里云技能认证

详细说明
  • 高分内容
  • 最新动态
  • 文章
  • 问答
正在加载, 请稍后...
暂无更多信息

2021年12月

  • 12.14 23:44:13
    回答了问题 2021-12-14 23:44:13

    MySQL中的InnoDB引擎的行锁是如何实现的?

    基于索引来完成行锁的。

    select * from t where id = 666 for update;

    for update 可以根据条件来完成行锁锁定,并且 id 是有索引键的列,如果 id 不是索引键那么InnoDB将实行表锁。

    踩0 评论0
  • 12.14 23:44:08
    回答了问题 2021-12-14 23:44:08

    MySQL 为什么要使用视图?

    为了提高复杂SQL语句的复用性和表操作的安全性,MySQL数据库管理系统提供了视图特性。

    踩0 评论0
  • 12.14 23:43:15
    回答了问题 2021-12-14 23:43:15

    MySQL 的视图的定义是什么?

    视图是一个虚拟的表,是一个表中的数据经过某种筛选后的显示方式,视图由一个预定义的查询select语句组成。

    踩0 评论0
  • 12.14 23:43:11
    回答了问题 2021-12-14 23:43:11

    MySQL 的 count(1)、count(*) 与 count(列名) 有什么区别?

    count(*)包括了所有的列,相当于行数,在统计结果的时候,不会忽略列值为NULL

    count(1)包括了忽略所有列,用1代表代码行,在统计结果的时候,不会忽略列值为NULL

    count(列名)只包括列名那一列,在统计结果的时候,会忽略列值为空(这里的空不是只空字符串或者0,而是表示null)的计数,即某个字段值为NULL时,不统计。

    踩0 评论0
  • 12.14 23:43:06
    回答了问题 2021-12-14 23:43:06

    MySQL 的游标的定义是什么?

    游标提供了一种对从表中检索出的数据进行操作的灵活手段,就本质而言,游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。

    踩0 评论0
  • 12.14 23:42:13
    回答了问题 2021-12-14 23:42:13

    MySQL 的触发器的定义是什么?

    触发器,指一段代码,当触发某个事件时,自动执行这些代码。

    踩0 评论0
  • 12.14 23:42:09
    回答了问题 2021-12-14 23:42:09

    MySQL 的触发器的使用场景有哪些?

    可以通过数据库中的相关表实现级联更改。

    实时监控某张表中的某个字段的更改而需要做出相应的处理。

    例如可以生成某些业务的编号。

    注意不要滥用,否则会造成数据库及应用程序的维护困难。

    踩0 评论0
  • 12.14 23:42:05
    回答了问题 2021-12-14 23:42:05

    SQL的生命周期是怎样运作的?

    服务器与数据库建立连接

    数据库进程拿到请求sql

    解析并生成执行计划,执行

    读取数据到内存,并进行逻辑处理

    通过步骤一的连接,发送结果到客户端

    关掉连接,释放资源

    踩0 评论0
  • 12.14 23:41:09
    回答了问题 2021-12-14 23:41:09

    列值为NULL的时候查询是否会用到索引?

    列值为NULL也是可以走索引的

    计划对列进行索引,应尽量避免把它设置为可空,因为这会让 MySQL 难以优化引用了可空列的查询,同时增加了引擎的复杂度

    踩0 评论0
  • 12.14 23:41:04
    回答了问题 2021-12-14 23:41:04

    MySQL 的慢查询怎么优化?

    优化慢查询:

    分析语句,是否加载了不必要的字段/数据。

    分析SQl执行句话,是否命中索引等。

    如果SQL很复杂,优化SQL结构

    如果表数据量太大,考虑分表

    踩0 评论0
  • 12.14 23:41:00
    回答了问题 2021-12-14 23:41:00

    MySQL 的 主键自增ID的定义是什么?

    数据存储空间小,查询效率高。但是如果数据量过大,会超出自增长的值范围,多库合并,也有可能有问题。

    踩0 评论0
  • 12.14 23:40:03
    回答了问题 2021-12-14 23:40:03

    Mysql的驱动程序是什么?

    这个jar包: mysql-connector-java-5.1.18.jar

    Mysql驱动程序主要帮助编程语言与 MySQL服务端进行通信,如连接、传输数据、关闭等。

    踩0 评论0
  • 12.14 23:40:00
    回答了问题 2021-12-14 23:40:00

    MySQL 如何优化长难的查询语句?

    将一个大的查询分为多个小的相同的查询

    减少冗余记录的查询。

    一个复杂查询可以考虑拆成多个简单查询

    分解关联查询,让缓存的效率更高。

    踩0 评论0
  • 12.14 23:39:56
    回答了问题 2021-12-14 23:39:56

    MySQL 优化特定类型的查询语句有哪些?

    平时积累吧:

    比如使用select 具体字段代替 select *

    使用count(*) 而不是count(列名)

    在不影响业务的情况,使用缓存

    踩0 评论0
  • 12.14 23:37:52
    回答了问题 2021-12-14 23:37:52

    MySQL的复制原理是什么?

    主从复制原理,简言之,就三步曲,如下:

    主数据库有个bin-log二进制文件,纪录了所有增删改Sql语句。(binlog线程)

    从数据库把主数据库的bin-log文件的sql语句复制过来。(io线程)

    从数据库的relay-log重做日志文件中再执行一次这些sql语句。(Sql执行线程)

    踩0 评论0
  • 12.14 23:37:49
    回答了问题 2021-12-14 23:37:49

    MySQL的复制的步骤流程是什么?

    步骤一:主库的更新事件(update、insert、delete)被写到binlog

    步骤二:从库发起连接,连接到主库。

    步骤三:此时主库创建一个binlog dump thread,把binlog的内容发送到从库。

    步骤四:从库启动之后,创建一个I/O线程,读取主库传过来的binlog内容并写入到relay log

    步骤五:还会创建一个SQL线程,从relay log里面读取内容,从Exec_Master_Log_Pos位置开始执行读取到的更新事件,将更新内容写入到slave的db

    踩0 评论0
  • 12.14 23:37:45
    回答了问题 2021-12-14 23:37:45

    MySQL中DATETIME和TIMESTAMP的区别是什么?

    DATETIME 的日期范围是 1001——9999 年;TIMESTAMP 的时间范围是 1970——2038 年

    DATETIME 存储时间与时区无关;TIMESTAMP 存储时间与时区有关,显示的值也依赖于时区

    DATETIME 的存储空间为 8 字节;TIMESTAMP 的存储空间为 4 字节

    DATETIME 的默认值为 null;TIMESTAMP 的字段默认不为空(not null),默认值为当前时间(CURRENT_TIMESTAMP)

    踩0 评论0
  • 12.14 23:36:59
    回答了问题 2021-12-14 23:36:59

    MySQL 的Innodb的事务实现原理是什么?

    原子性:是使用 undo log来实现的,如果事务执行过程中出错或者用户执行了rollback,系统通过undo log日志返回事务开始的状态。

    持久性:使用 redo log来实现,只要redo log日志持久化了,当系统崩溃,即可通过redo log把数据恢复。

    隔离性:通过锁以及MVCC,使事务相互隔离开。

    一致性:通过回滚、恢复,以及并发情况下的隔离性,从而实现一致性。

    踩0 评论0
  • 12.14 23:36:50
    回答了问题 2021-12-14 23:36:50

    MySQL 的事务是如何通过日志来实现的?

    因为事务在修改页时,要先记 undo,在记 undo 之前要记 undo 的 redo, 然后修改数据页,再记数据页修改的 redo。 Redo(里面包括 undo 的修改) 一定要比数据页先持久化到磁盘。

    当事务需要回滚时,因为有 undo,可以把数据页回滚到前镜像的 状态,崩溃恢复时,如果 redo log 中事务没有对应的 commit 记录,那么需要用 undo把该事务的修改回滚到事务开始之前。

    如果有 commit 记录,就用 redo 前滚到该事务完成时并提交掉。

    踩0 评论0
  • 12.14 23:36:42
    回答了问题 2021-12-14 23:36:42

    MySQL中TEXT数据类型的最大长度是多少?

    TINYTEXT:256 bytes

    TEXT:65,535 bytes(64kb)

    MEDIUMTEXT:16,777,215 bytes(16MB)

    LONGTEXT:4,294,967,295 bytes(4GB)

    踩0 评论0
正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息
  • 回答了问题 2021-12-14

    MySQL中的InnoDB引擎的行锁是如何实现的?

    基于索引来完成行锁的。

    select * from t where id = 666 for update;

    for update 可以根据条件来完成行锁锁定,并且 id 是有索引键的列,如果 id 不是索引键那么InnoDB将实行表锁。

    踩0 评论0
  • 回答了问题 2021-12-14

    MySQL 为什么要使用视图?

    为了提高复杂SQL语句的复用性和表操作的安全性,MySQL数据库管理系统提供了视图特性。

    踩0 评论0
  • 回答了问题 2021-12-14

    MySQL 的视图的定义是什么?

    视图是一个虚拟的表,是一个表中的数据经过某种筛选后的显示方式,视图由一个预定义的查询select语句组成。

    踩0 评论0
  • 回答了问题 2021-12-14

    MySQL 的 count(1)、count(*) 与 count(列名) 有什么区别?

    count(*)包括了所有的列,相当于行数,在统计结果的时候,不会忽略列值为NULL

    count(1)包括了忽略所有列,用1代表代码行,在统计结果的时候,不会忽略列值为NULL

    count(列名)只包括列名那一列,在统计结果的时候,会忽略列值为空(这里的空不是只空字符串或者0,而是表示null)的计数,即某个字段值为NULL时,不统计。

    踩0 评论0
  • 回答了问题 2021-12-14

    MySQL 的游标的定义是什么?

    游标提供了一种对从表中检索出的数据进行操作的灵活手段,就本质而言,游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。

    踩0 评论0
  • 回答了问题 2021-12-14

    MySQL 的触发器的定义是什么?

    触发器,指一段代码,当触发某个事件时,自动执行这些代码。

    踩0 评论0
  • 回答了问题 2021-12-14

    MySQL 的触发器的使用场景有哪些?

    可以通过数据库中的相关表实现级联更改。

    实时监控某张表中的某个字段的更改而需要做出相应的处理。

    例如可以生成某些业务的编号。

    注意不要滥用,否则会造成数据库及应用程序的维护困难。

    踩0 评论0
  • 回答了问题 2021-12-14

    SQL的生命周期是怎样运作的?

    服务器与数据库建立连接

    数据库进程拿到请求sql

    解析并生成执行计划,执行

    读取数据到内存,并进行逻辑处理

    通过步骤一的连接,发送结果到客户端

    关掉连接,释放资源

    踩0 评论0
  • 回答了问题 2021-12-14

    列值为NULL的时候查询是否会用到索引?

    列值为NULL也是可以走索引的

    计划对列进行索引,应尽量避免把它设置为可空,因为这会让 MySQL 难以优化引用了可空列的查询,同时增加了引擎的复杂度

    踩0 评论0
  • 回答了问题 2021-12-14

    MySQL 的慢查询怎么优化?

    优化慢查询:

    分析语句,是否加载了不必要的字段/数据。

    分析SQl执行句话,是否命中索引等。

    如果SQL很复杂,优化SQL结构

    如果表数据量太大,考虑分表

    踩0 评论0
  • 回答了问题 2021-12-14

    MySQL 的 主键自增ID的定义是什么?

    数据存储空间小,查询效率高。但是如果数据量过大,会超出自增长的值范围,多库合并,也有可能有问题。

    踩0 评论0
  • 回答了问题 2021-12-14

    Mysql的驱动程序是什么?

    这个jar包: mysql-connector-java-5.1.18.jar

    Mysql驱动程序主要帮助编程语言与 MySQL服务端进行通信,如连接、传输数据、关闭等。

    踩0 评论0
  • 回答了问题 2021-12-14

    MySQL 如何优化长难的查询语句?

    将一个大的查询分为多个小的相同的查询

    减少冗余记录的查询。

    一个复杂查询可以考虑拆成多个简单查询

    分解关联查询,让缓存的效率更高。

    踩0 评论0
  • 回答了问题 2021-12-14

    MySQL 优化特定类型的查询语句有哪些?

    平时积累吧:

    比如使用select 具体字段代替 select *

    使用count(*) 而不是count(列名)

    在不影响业务的情况,使用缓存

    踩0 评论0
  • 回答了问题 2021-12-14

    MySQL的复制原理是什么?

    主从复制原理,简言之,就三步曲,如下:

    主数据库有个bin-log二进制文件,纪录了所有增删改Sql语句。(binlog线程)

    从数据库把主数据库的bin-log文件的sql语句复制过来。(io线程)

    从数据库的relay-log重做日志文件中再执行一次这些sql语句。(Sql执行线程)

    踩0 评论0
  • 回答了问题 2021-12-14

    MySQL的复制的步骤流程是什么?

    步骤一:主库的更新事件(update、insert、delete)被写到binlog

    步骤二:从库发起连接,连接到主库。

    步骤三:此时主库创建一个binlog dump thread,把binlog的内容发送到从库。

    步骤四:从库启动之后,创建一个I/O线程,读取主库传过来的binlog内容并写入到relay log

    步骤五:还会创建一个SQL线程,从relay log里面读取内容,从Exec_Master_Log_Pos位置开始执行读取到的更新事件,将更新内容写入到slave的db

    踩0 评论0
  • 回答了问题 2021-12-14

    MySQL中DATETIME和TIMESTAMP的区别是什么?

    DATETIME 的日期范围是 1001——9999 年;TIMESTAMP 的时间范围是 1970——2038 年

    DATETIME 存储时间与时区无关;TIMESTAMP 存储时间与时区有关,显示的值也依赖于时区

    DATETIME 的存储空间为 8 字节;TIMESTAMP 的存储空间为 4 字节

    DATETIME 的默认值为 null;TIMESTAMP 的字段默认不为空(not null),默认值为当前时间(CURRENT_TIMESTAMP)

    踩0 评论0
  • 回答了问题 2021-12-14

    MySQL 的Innodb的事务实现原理是什么?

    原子性:是使用 undo log来实现的,如果事务执行过程中出错或者用户执行了rollback,系统通过undo log日志返回事务开始的状态。

    持久性:使用 redo log来实现,只要redo log日志持久化了,当系统崩溃,即可通过redo log把数据恢复。

    隔离性:通过锁以及MVCC,使事务相互隔离开。

    一致性:通过回滚、恢复,以及并发情况下的隔离性,从而实现一致性。

    踩0 评论0
  • 回答了问题 2021-12-14

    MySQL 的事务是如何通过日志来实现的?

    因为事务在修改页时,要先记 undo,在记 undo 之前要记 undo 的 redo, 然后修改数据页,再记数据页修改的 redo。 Redo(里面包括 undo 的修改) 一定要比数据页先持久化到磁盘。

    当事务需要回滚时,因为有 undo,可以把数据页回滚到前镜像的 状态,崩溃恢复时,如果 redo log 中事务没有对应的 commit 记录,那么需要用 undo把该事务的修改回滚到事务开始之前。

    如果有 commit 记录,就用 redo 前滚到该事务完成时并提交掉。

    踩0 评论0
  • 回答了问题 2021-12-14

    MySQL中TEXT数据类型的最大长度是多少?

    TINYTEXT:256 bytes

    TEXT:65,535 bytes(64kb)

    MEDIUMTEXT:16,777,215 bytes(16MB)

    LONGTEXT:4,294,967,295 bytes(4GB)

    踩0 评论0
正在加载, 请稍后...
滑动查看更多