
面经--数据库
努力LT
这个作者很懒,什么都没留下…
展开
-
SQL优化--一般步骤
使用MySQL案例库:sakilamysql> show databases;+--------------------+| Database |+--------------------+| information_schema || mysql || performance_schema || sakila ...原创 2019-04-04 16:58:23 · 436 阅读 · 0 评论 -
mysql中四种隔离级别
1.serializable:可串行化最高隔离级别,通过强制事务排序,使之不可能相互冲突,从而解决幻读问题。简言之,就是在每个读的数据行上加上共享锁。在这个级别,可能导致大量的超时现象和锁竞争。2.repeatable read:可重读mysql默认事务隔离级别,确保同一事务的多个实例在并发读取数据时,会看到同样的数据行。理论上这会导致另一个棘手问题:幻读。幻读指当用户读取某一范围...原创 2019-04-08 00:29:06 · 134 阅读 · 0 评论 -
数据库学习问题汇总
Q1.myisam,自动增长列是索引组合的第二列,自动增长列是按照组合索引的第一列排序后递增?下面的例子怎么解释?mysql> create table auto_demo -> (id smallint not null auto_increment, -> aid smallint not null, -> name varchar(1...原创 2019-04-01 15:22:49 · 343 阅读 · 0 评论 -
MyISAM和InnoDB
1.MyISAM(1)MySQL 5.5之前的默认存储引擎,不支持事务,不支持外键,优势是访问速度快。(2)每个MyISAM在磁盘上存储成三个文件。文件名都和表名相同,扩展名指出文件类型。.frm文件存储表定义。 数据文件的扩展名为.MYD (MYData)。 索引文件的扩展名是.MYI (MYIndex)。数据文件和索引文件可以放置在不同的目录,平均分布IO,获得更快的...原创 2019-04-01 16:28:59 · 158 阅读 · 0 评论 -
索引B-Tree和B+Tree
1.B-Tree磁盘中有两个机械运动的部分,分别是磁盘旋转和磁头移动。将磁头移动到磁盘表面的正确位置,花费的时间叫寻道时间。磁盘IO处理的快慢很大程度上取决于磁盘的寻道时间。磁盘旋转是为了传输数据。当大规模数据存储到磁盘中的时候,显然定位是一个非常花费时间的过程,但是我们可以通过B树进行优化,提高磁盘读取时定位的效率。为什么B-Tree可以进行优化呢?我们可以根据B-Tree的特点,构...原创 2019-04-07 23:22:38 · 1689 阅读 · 0 评论 -
深入浅出MySQL学习笔记--死锁
关于死锁 MyISAM表锁是deadlock free的,这是因为MyISAM总是一次获得所需的全部锁,要么全部满足,要么等待,因此不会出现死锁。但在InnoDB中,除单个SQL组成的事务外,锁是逐步获得的,这就决定了在InnoDB中发生死锁是可能的。如表20-17所示的就是一个发生死锁的例子。表20-17InnoDB存储引擎中的死锁例子 session_1 ...原创 2019-04-08 00:02:42 · 219 阅读 · 0 评论 -
MySQL锁之MyIsam
文章目录1.MyIsam1.1锁模式1.2如何加表锁1.3锁优化1.3.1查询表级锁争用情况1.3.2缩短锁定的时间1.3.3分离能并行的操作1.3.4合理利用读写优先级1.MyIsam1.1锁模式表独占写锁表共享读锁锁模式/是否兼容读锁写锁读锁是否写锁否否对MyISAM表的读操作,不会阻塞其他用户对同一表的读请求,但会阻塞对同一表的写请求;...转载 2019-07-10 21:51:03 · 153 阅读 · 0 评论