50、MySQL有关权限的表都有哪几个?
51、列的字符串类型可以是什么?
52、MySQL数据库作发布系统的存储,一天五万条以上的增量,预计运维三年,怎么优化?
53、锁的优化策略
54、索引的底层实现原理和优化
55、什么情况下设置了索引|但无法使用
56、实践中如何优化MySQL
57、优化数据库的方法
58、简单描述MySQL 中,索引,主键,唯一索引,联合索引的区别,对数据库的性能有什么影响(从读写两方面)
59、数据库中的事务是什么?
60、SQL注入漏洞产生的原因?如何防止?
61、为表中得字段选择合适得数据类型
62、存储时期
63、对于关系型数据库而言,索引是相当重要的概念,请回答有关索引的几个问题
64、解释MySQL外连接、内连接与自连接的区别
65、Myql 中的事务回滚机制概述
66、SQL语言包括哪几部分?每部分都有哪些操作关键
67、完整性约束包括哪些?
68、什么是锁?
69、什么叫视图?游标是什么?
70、什么是存储过程?用什么来调用?
71、如何通俗地理解三个范式?
72、什么是基本表?什么是视图?
73、试述视图的优点?
74、NULL 是什么意思
75、主键、外键和索引的区别?
76、你可以用什么来确保表格里的字段只接受特定范围里的值?
77、说说对SQL语句优化有哪些方法? (选择几条)
78、什么是乐观锁
79、什么是悲观锁
80、什么是时间戳
81、什么是行级锁
82、什么是表级锁
83、什么是页级锁
===========================================================================
1、数据库存储引擎
数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以获得特定的功能。现在许多不同的数据库管理系统都支持多种不同的数据引擎。存储引擎主要有: 1. MyIsam , 2. InnoDB, 3. Memory, 4. Archive, 5. Federated 。
2、数据库引擎有哪些
mysql常用引擎包括:MYISAM、Innodb、Memory、MERGE
-
MYISAM:全表锁,拥有较高的执行速度,不支持事务,不支持外键,并发性能差,占用空间相对较小,对事务完整性没有要求,以select、insert为主的应用基本上可以使用这引擎
-
Innodb:行级锁,提供了具有提交、回滚和崩溃回复能力的事务安全,支持自动增长列,支持外键约束,并发能力强,占用空间是MYISAM的2.5倍,处理效率相对会差一些
-
Memory:全表锁,存储在内容中,速度快,但会占用和数据量成正比的内存空间且数据在mysql重启时会丢失,默认使用HASH索引,检索效率非常高,但不适用于精确查找,主要用于那些内容变化不频繁的代码表
-
MERGE:是一组MYISAM表的组合
3、InnoDB与MyISAM的区别
-
InnoDB支持事务, MyISAM不支持,对于InnoDB每一条SQL语言都默认封装成事务 ,自动提交,这样会影响速度,所以最好把多条SQL语言放在begin和commit之间,组成一个务;
-
InnoDB支持外键,而MyISAM不支持。对一个包含外键的InnoDB表转为MYISAM会失败;
-
InnoDB是聚集索引,数据文件是和索引绑在一起的,必须要有主键,通过主键索引效率很高。但是辅助索引需要两次查询,先查询到主键,然后再通过主键查询到数据。因此,主键不应该过大,因为主键太大,其他索引也都会很大。而MylSAM是非聚集索引,数据文件是分离的,索引保存的是数据文件的指针。主键索弓|和辅助索引|是独立的。
-
InnoDB不保存表的具体行数,执行select count(*) from table时需要全表扫描。而MylSAM用一个变量保存了整个表的行数,执行上述语句时只需要读出该变量即可,速度很快;
-
Innodb不支持全文索引,而MyISAM支持全文索引,查询效率上MyISAM要高
4、索引
索引( Index )是帮助MySQL高效获取数据的数据结构。常见的查询算法,顺序查找,二分查找=叉排序树查找哈希散列法分块查找,平衡多路搜索树B树( B-tree) , 索引是对数据库表中一个或多个列的值进行排序的结构,建立索引有助于快速获取信息。
你也可以这样理解:索引就是加快检索表中数据的方法。数据库的索引类似于书籍的索引。在书籍中,索引允许用户不必翻阅完整个书就能迅速地找到所需要的信息。在数据库中,索引也允许数据库程序迅速地找到表中的数据,而不必扫描整个数据库
mysql有4种不同的索引:
-
主键索引( PRIMARY )
-
唯一索引( UNIQUE )
-
普通索引( INDEX )
-
全文索引( FULLTEXT )
索引并非是越多越好,创建索引也需要耗费资源, -是增加了数据库的存储空间,二是在插入和删除时要花费较多的时间维护索引
-
索引加快数据库的检索速度
-
索引降低了插入、删除、修改等维护任务的速度
-
唯一索引可以确保每一行数据的唯一 -性
-
通过使用索引,可以在查询的过程中使用优化隐藏器,提高系统的性能
-
索引需要占物理和数据空间
5、常见的索引原则有哪些
-
选择唯一性索引 ,唯一性索引的值是唯一的 ,可以更快速的通过该索引来确定某条记录。
-
为经常需要排序、分组和联合操作的字段建立索引。
-
为常用作为查询条件的字段建立索引。
-
限制索引的数目:
越多的索引,会使更新表变得很浪费时间。尽量使用数据量少的索引
-
如果索引的值很长,那么查询的速度会受到影响。尽量使用前缀来索引
-
如果索引字段的值很长,最好使用值的前缀来索引。
-
删除不再使用或者很少使用的索引
最后
现在正是金三银四的春招高潮,前阵子小编一直在搭建自己的网站,并整理了全套的**【一线互联网大厂Java核心面试题库+解析】:包括Java基础、异常、集合、并发编程、JVM、Spring全家桶、MyBatis、Redis、数据库、中间件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等**
最后
现在正是金三银四的春招高潮,前阵子小编一直在搭建自己的网站,并整理了全套的**【一线互联网大厂Java核心面试题库+解析】:包括Java基础、异常、集合、并发编程、JVM、Spring全家桶、MyBatis、Redis、数据库、中间件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等**
[外链图片转存中…(img-Xm4ON2vy-1720033159427)]