随笔分类 - mysql
摘要:50道SQL经典面试题(下) 今天继续给小伙伴们补上剩下的25道。 为便于阅读理解,我们还是把表结构和测试数据给大家补上。 一、表结构 1、学生表 Student(Sid,Sname,Sage,Ssex) 学生编号,学生姓名,出生年月,学生性别 2、课程表 Course(Cid,Cname,Tid)
阅读全文
摘要:50道SQL经典面试题(上) 最近在收集SQL每日一题时,找到这套比较经典的SQL面试题。 我根据题目重新梳理了一遍,包括表结构,表之间的关系,测试数据,题目,参考答案等。其中大部分参考答案在各种数据库平台上通用。 由于题目数量较多(足足50道题),小伙伴们可能不容易消化理解,于是将内容分为上下两篇
阅读全文
摘要:说一下 MySQL 执行一条查询语句的内部执行过程? 客户端先通过连接器连接到 MySQL 服务器。 连接器权限验证通过之后,先查询是否有查询缓存,如果有缓存(之前执行过此语句)则直接返回缓存数据,如果没有缓存则进入分析器。 分析器会对查询语句进行语法分析和词法分析,判断 SQL 语法是否正确,如果
阅读全文
摘要:事务是什么? 事务是一系列的数据库操作,是数据库应用的基本单位。MySQL 事务主要用于处理操作量大,复杂度高的数据。 事务有哪些特性? 在 MySQL 中只有 InnDB 引擎支持事务,它的四个特性如下: 原子性(Atomic):要么全部执行,要么全部不执行; 一致性(Consistency):事
阅读全文
摘要:什么是锁?MySQL 中提供了几类锁? 锁是实现数据库并发控制的重要手段,可以保证数据库在多人同时操作时能够正常运行。MySQL 提供了全局锁、行级锁、表级锁。其中 InnoDB 支持表级锁和行级锁,MyISAM 只支持表级锁。 什么是死锁? 是指两个或两个以上的进程在执行过程中,因争夺资源而造成的
阅读全文
摘要:如何用命令行方式连接 MySQL 数据库? 使用 mysql -u用户名 -p密码; 输入用户名和密码就可以正常进入数据库连接了,实例如下: mysql -uroot -p123456; 其中,用户名为 root,密码为 123456。 关于命令 mysql -h 127.0.0.1 -uroot
阅读全文
摘要:MySQL性能指标都有哪些?如何得到这些指标? MySQL的性能指标如下: ① TPS(Transaction Per Second) 每秒事务数,即数据库每秒执行的事务数。 MySQL 本身没有直接提供 TPS 参数值,如果我们想要获得 TPS 的值,只有我们自己计算了,可以根据 MySQL 数据
阅读全文
摘要:有一个超级大表,如何优化分页查询? 超级大表的分页优化分有以下两种方式: 数据库层面优化:利用子查询优化超多分页场景,比如:SELECT a.* FROM 表 1 a, (select id from 表 1 where 条件 LIMIT 100000,20 ) b where a.id=b.id
阅读全文
摘要:什么是索引? 索引是一种能帮助 MySQL 提高查询效率的数据结构。 索引分别有哪些优点和缺点? 索引的优点如下: 快速访问数据表中的特定信息,提高检索速度。 创建唯一性索引,保证数据表中每一行数据的唯一性。 加速表与表之间的连接。 使用分组和排序进行数据检索时,可以显著减少查询中分组和排序的时间。
阅读全文