做网站怎么做付费推广,免费企业信息黄页网,网站开发温州,住建网站需多少钱目录数据库基础知识为什么要使用数据库什么是SQL#xff1f;什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式#xff1f;分别有什么区别#xff1f;数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引…
目录数据库基础知识为什么要使用数据库什么是SQL什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式分别有什么区别数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别InnoDB引擎的4大特性存储引擎选择索引什么是索引索引有哪些优缺点索引使用场景重点索引有哪几种类型索引的数据结构b树hash索引的基本原理索引算法有哪些索引设计的原则创建索引的原则重中之重创建索引的三种方式删除索引创建索引时需要注意什么使用索引查询一定能提高查询的性能吗为什么百万级别或以上的数据如何删除前缀索引什么是最左前缀原则什么是最左匹配原则B树和B树的区别使用B树的好处使用B树的好处Hash索引和B树所有有什么区别或者说优劣呢?数据库为什么使用B树而不是B树B树在满足聚簇索引和覆盖索引的时候不需要回表查询数据什么是聚簇索引何时使用聚簇索引与非聚簇索引非聚簇索引一定会回表查询吗联合索引是什么为什么需要注意联合索引中的顺序事务什么是数据库事务事物的四大特性(ACID)介绍一下?什么是脏读幻读不可重复读什么是事务的隔离级别MySQL的默认隔离级别是什么锁对MySQL的锁了解吗隔离级别与锁的关系按照锁的粒度分数据库锁有哪些锁机制与InnoDB锁算法从锁的类别上分MySQL都有哪些锁呢像上面那样子进行锁定岂不是有点阻碍并发效率了MySQL中InnoDB引擎的行锁是怎么实现的InnoDB存储引擎的锁的算法有三种什么是死锁怎么解决数据库的乐观锁和悲观锁是什么怎么实现的视图为什么要使用视图什么是视图视图有哪些特点视图的使用场景有哪些视图的优点视图的缺点什么是游标存储过程与函数什么是存储过程有哪些优缺点触发器什么是触发器触发器的使用场景有哪些MySQL中都有哪些触发器常用SQL语句SQL语句主要分为哪几类超键、候选键、主键、外键分别是什么SQL 约束有哪几种六种关联查询什么是子查询子查询的三种情况mysql中 in 和 exists 区别varchar与char的区别varchar(50)中50的涵义int(20)中20的涵义mysql为什么这么设计mysql中int(10)和char(10)以及varchar(10)的区别FLOAT和DOUBLE的区别是什么drop、delete与truncate的区别UNION与UNION ALL的区别SQL优化如何定位及优化SQL语句的性能问题创建的索引有没有被使用到?或者说怎么才可以知道这条语句运行很慢的原因SQL的生命周期大表数据查询怎么优化超大分页怎么处理mysql 分页慢查询日志关心过业务系统里面的sql耗时吗统计过慢查询吗对慢查询都怎么优化过为什么要尽量设定一个主键主键使用自增ID还是UUID字段为什么要求定义为not null如果要存储用户的密码散列应该使用什么字段进行存储优化查询过程中的数据访问优化长难的查询语句优化特定类型的查询语句优化关联查询优化子查询优化LIMIT分页优化UNION查询优化WHERE子句数据库优化为什么要优化数据库结构优化MySQL数据库cpu飙升到500%的话他怎么处理大表怎么优化某个表有近千万数据CRUD比较慢如何优化分库分表了是怎么做的分表分库了有什么问题有用到中间件么他们的原理知道么垂直分表适用场景缺点水平分表适用场景水平切分的缺点数据库分片的两种常见方案MySQL的复制原理以及流程读写分离有哪些解决方案备份计划mysqldump以及xtranbackup的实现原理数据表损坏的修复方式有哪些数据库基础知识
为什么要使用数据库 什么是SQL 什么是MySQL? 数据库三大范式是什么 mysql有关权限的表都有哪几个 MySQL的binlog有有几种录入格式分别有什么区别 数据类型
mysql有哪些数据类型 引擎
MySQL存储引擎MyISAM与InnoDB区别 MyISAM索引与InnoDB索引的区别 InnoDB引擎的4大特性 存储引擎选择 索引
什么是索引 索引有哪些优缺点 索引使用场景重点 索引有哪几种类型 索引的数据结构b树hash 索引的基本原理 索引算法有哪些 索引设计的原则 创建索引的原则重中之重 创建索引的三种方式删除索引 创建索引时需要注意什么 使用索引查询一定能提高查询的性能吗为什么 百万级别或以上的数据如何删除 前缀索引 什么是最左前缀原则什么是最左匹配原则 B树和B树的区别 使用B树的好处 使用B树的好处 Hash索引和B树所有有什么区别或者说优劣呢? 数据库为什么使用B树而不是B树 B树在满足聚簇索引和覆盖索引的时候不需要回表查询数据 什么是聚簇索引何时使用聚簇索引与非聚簇索引 非聚簇索引一定会回表查询吗 联合索引是什么为什么需要注意联合索引中的顺序 事务
什么是数据库事务 事物的四大特性(ACID)介绍一下?
原子性Atomicity 一致性Consistency 隔离性Isolation 持久性Durability
什么是脏读幻读不可重复读 什么是事务的隔离级别MySQL的默认隔离级别是什么 锁
对MySQL的锁了解吗 隔离级别与锁的关系 按照锁的粒度分数据库锁有哪些锁机制与InnoDB锁算法 从锁的类别上分MySQL都有哪些锁呢像上面那样子进行锁定岂不是有点阻碍并发效率了 MySQL中InnoDB引擎的行锁是怎么实现的 InnoDB存储引擎的锁的算法有三种 什么是死锁怎么解决 数据库的乐观锁和悲观锁是什么怎么实现的 视图
为什么要使用视图什么是视图 视图有哪些特点 视图的使用场景有哪些 视图的优点 视图的缺点 什么是游标 存储过程与函数
什么是存储过程有哪些优缺点 触发器
什么是触发器触发器的使用场景有哪些 MySQL中都有哪些触发器 常用SQL语句
SQL语句主要分为哪几类 超键、候选键、主键、外键分别是什么 SQL 约束有哪几种 六种关联查询 交叉连接 SELECT * FROM A,B,C或者SELECT * FROM A CROSS JOIN B (CROSS JOIN C) 没有任何关联条件结果是笛卡尔积结果集会很大没有意义,很少使用
内连接INNER JOIN SELECT * FROM A,B WHERE A.idB.id或者SELECT * FROM A INNER JOIN B ON A.idB.id 多表中同时符合某种条件的数据记录的集合INNER JOIN可以缩写为JOIN 外连接LEFT JOIN/RIGHT JOIN
联合查询UNION与UNION ALL SELECT * FROM A UNION SELECT * FROM B UNION … 全连接FULL JOIN SELECT * FROM A LEFT JOIN B ON A.idB.id UNIONSELECT * FROM A RIGHT JOIN B ON A.idB.id 什么是子查询 子查询的三种情况
子查询是单行单列的情况结果集是一个值父查询使用、 、 等运算符
-- 查询工资最高的员工是谁
select * from employee where salary(select max(salary) from employee); 子查询是多行单列的情况结果集类似于一个数组父查询使用in 运算符 -- 查询工资最高的员工是谁
select * from employee where salary(select max(salary) from employee); 子查询是多行多列的情况结果集类似于一张虚拟表不能用于where条件用于select子句中做为子表 -- 1) 查询出2011年以后入职的员工信息
-- 2) 查询所有的部门信息与上面的虚拟表中的信息比对找出所有部门ID相等的员工。
select * from dept d, (select * from employee where join_date 2011-1-1) e where e.dept_id d.id; -- 使用表连接
select d.*, e.* from dept d inner join employee e on d.id e.dept_id where e.join_date 2011-1-1 mysql中 in 和 exists 区别 varchar与char的区别 varchar(50)中50的涵义 int(20)中20的涵义 mysql为什么这么设计
mysql中int(10)和char(10)以及varchar(10)的区别 FLOAT和DOUBLE的区别是什么 drop、delete与truncate的区别 UNION与UNION ALL的区别 SQL优化
如何定位及优化SQL语句的性能问题创建的索引有没有被使用到?或者说怎么才可以知道这条语句运行很慢的原因 【推荐】SQL性能优化的目标至少要达到 range 级别要求是ref级别如果可以是consts最好。 说明 1 consts 单表中最多只有一个匹配行主键或者唯一索引在优化阶段即可读取到数据。 2 ref 指的是使用普通的索引normal index。 3 range 对索引进行范围检索。 反例explain表的结果typeindex索引物理文件全扫描速度非常慢这个index级别比较range还低与全表扫描是小巫见大巫。 SQL的生命周期 大表数据查询怎么优化 超大分页怎么处理 【推荐】利用延迟关联或者子查询优化超多分页场景。 说明MySQL并不是跳过offset行而是取offsetN行然后返回放弃前offset行返回N行那当offset特别大的时候效率就非常的低下要么控制返回的总页数要么对超过特定阈值的页数进行SQL改写。 正例先快速定位需要获取的id段然后再关联 SELECT a.* FROM 表1 a, (select id from 表1 where 条件 LIMIT 100000,20 ) b where a.idb.id mysql 分页 慢查询日志 关心过业务系统里面的sql耗时吗统计过慢查询吗对慢查询都怎么优化过 为什么要尽量设定一个主键 主键使用自增ID还是UUID 字段为什么要求定义为not null 如果要存储用户的密码散列应该使用什么字段进行存储 优化查询过程中的数据访问 优化长难的查询语句 优化特定类型的查询语句 优化关联查询 优化子查询 优化LIMIT分页 优化UNION查询 优化WHERE子句 数据库优化
为什么要优化 数据库结构优化 MySQL数据库cpu飙升到500%的话他怎么处理 大表怎么优化某个表有近千万数据CRUD比较慢如何优化分库分表了是怎么做的分表分库了有什么问题有用到中间件么他们的原理知道么 垂直分表 适用场景 缺点 水平分表 适用场景 水平切分的缺点 数据库分片的两种常见方案 MySQL的复制原理以及流程 读写分离有哪些解决方案 备份计划mysqldump以及xtranbackup的实现原理 数据表损坏的修复方式有哪些 原文链接https://thinkwon.blog.csdn.net/article/details/104778621