![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql
top啦它
这个作者很懒,什么都没留下…
展开
-
mysql索引失效的原因
1、like以%开头索引无效,当like以%/&结尾有效。2、or语句两边没有全部使用索引3、组合索引,使用的不是第一列索引,索引失效,即最左匹配规则。4、数据类型出现隐式转换,如varchar不加单引号的时候可能会自动转换为int类型,这个时候索引失效。5、在索引列上使用IS NULL或者IS NOT NULL时候,索引失效,因为索引是不索引空值的。6、在索引字段上使用not 、<> 、!=时不会使用索引,对于这样的处理只会进行全表扫描(>=和=<可以使用索引)原创 2022-02-10 15:31:56 · 2757 阅读 · 0 评论 -
如何查询慢SQL产生的原因
分析SQL执行计划,思考可能的优化点,是否命中了索引。没有索引或者没有用到索引内存不足。网络速度慢。查询出的数据量过大(可以采用多次查询)返回了不必要的行和列。锁或者死锁。I/O吞吐量小,形成了瓶颈效应。读写竞争。...原创 2022-02-10 15:20:31 · 190 阅读 · 0 评论 -
什么是MVCC
MVCC,全称Multi-Version COncurrentcy Control,多版本并发控制。指维护一个数据的多个版本,使得读写操作没有冲突,快照读为Mysql实现MVCC提供了一个非阻塞读功能。MVCC的具体实现,还需要依赖于数据库记录中的三个隐式字段、undo log日志,readVIew。(多版本并发控制,它是通过读取历史版本的数据,来降低并发事务冲突,从而提高并发性能的一种机制)1,事务版本号2,表的隐藏列记录中的隐藏字段含义DB_TRX_ID最近修改事务ID,记录原创 2022-02-10 15:13:55 · 1834 阅读 · 0 评论 -
MySQL索引底层结构为什么使用B+树?
哈希虽然能够提供O(1)的单数据行操作性能,但是对于范围查询和排序却无法很好地支持,最终导致全表扫描;B树能够在非叶子节点中存储数据,但是这也导致在查询连续数据时可能会带来更多的随机I/O,而B+树的所有叶节点可以通过指针相互连接,能够减少顺序遍历时产生的额外随机I/O。此外,B树一个节点里存储的是数据,而B+树存储的是索引(地址),所以B树里一个节点存储不了多个数据,但是B+树一个节点却可以存储很多索引,B+树叶子节点中存储数据。B+树的叶子节点是数据阶段用了一个双向链表串联起来,便于范围查找。.原创 2022-02-10 14:46:18 · 740 阅读 · 0 评论 -
count优化
count的几种用法count(主键):innoDB引擎会遍历整张表,把每一行的主键id都取出来,返回给服务层。服务层(mysql四层结构:连接层,服务层,引擎层,存储层)拿到主键后,直接按行进行累加(主键不可能为null)count(字段):没有not null约束的话,innodb引擎会遍历整张表,把每一行的字段值都取出来,返回给服务层,服务层判断是否为null,补位null的话,直接计数累加。count(1):innoDB引擎遍历整张表,但是不取值,服务层对于返回的每一行,放一个数1进去,直接原创 2022-02-10 14:30:51 · 735 阅读 · 0 评论 -
mysql默认引擎为innoDB的原因
mysql数据库5.5版本之前默认引擎为MyISAM,之后修改为innodb(包括5.5版本)。myISAM与innoDB的特点:1、MyISAM特点:不支持事务,不支持外键;支持表锁,不支持行锁,访问速度快文件:一张表对应三个文件,分别是xxx.sdi(存储表结构信息),xxx.MYD(存储数据),xxx.MYI(存储索引)2、innoDB特点:DML操作遵循ACID模型,支持事务(事务四大特性:原子性,一致性,持久性,隔离性);支持行级锁,可以提高并发访问量;支持外键FOREIGN KEY约原创 2022-02-10 14:19:06 · 2150 阅读 · 0 评论 -
可重复读解决了什么问题?
可重复读的核心就是一致性读;保证多次读取同一个数据时,其值都和事务开始的时候的内容是一致的,禁止读取到别的事务未提交的数据,会造成幻读。事务更新数据的时候,只能用当前读,如果当前的记录的行锁被其他事务占用的话,就需要进入锁等待。查询只承认在事务启动前就已经提交完成的数据。可重复读解决的是重复读的问题,可重复读在快照读的情况下是不会有幻读,但当前读的时候会有幻读。...原创 2022-01-23 11:34:02 · 3166 阅读 · 1 评论 -
在一个关系中,任何 候选码中所包含的属性都称为什么?
主属性原创 2020-12-31 09:51:02 · 1771 阅读 · 0 评论 -
数据库管理系统中,为了保证事务的正确执行,维护数据库的完整性,要求数据库系统维护以下事务特性。
原子性、一致性、隔离性和持久性。原创 2020-12-31 09:50:16 · 554 阅读 · 0 评论 -
一个SQL语句原则上可产生或处理一组记录,为了一次只能处理一个记录,MySQL是通过使用什么机制来解决的?
游标原创 2020-12-31 09:49:27 · 361 阅读 · 0 评论 -
在SQL语言中,使用什么语句收回授权
REVOKE原创 2020-12-31 09:48:35 · 3937 阅读 · 0 评论 -
在数据库的三级模式体系结构中,模式与内模式之间的映象(模式/内模式),实现了数据的什么独立性?
物理独立性原创 2020-12-31 09:47:55 · 2938 阅读 · 1 评论 -
mysql设属性A是关系R的主属性,则属性A不能取空值(NULL)。这是什么规则?
实体完整性规则原创 2020-12-31 09:43:41 · 4413 阅读 · 0 评论 -
SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,语句INSERT、DELETE、UPDATE实现哪类功能?
数据操纵功能原创 2020-12-31 09:42:17 · 1617 阅读 · 0 评论 -
在SQL语言的SELECT语句中,实现投影操作的是哪个子句?
是 select原创 2020-12-31 09:40:54 · 3241 阅读 · 1 评论 -
在关系数据库中,表(table)是三级模式结构中的什么模式?
概念模式(也可以叫做 模式)原创 2020-12-31 09:39:40 · 3299 阅读 · 0 评论 -
设关系R和关系S的元数(基数)分别是r和s,关系T是R与S的广义笛卡尔积,即:T=R× S,则关系T的元数(基数)是
关系T的元数 = r+s原创 2020-12-28 20:29:08 · 4595 阅读 · 1 评论 -
在SQL语言的SELECT语句中,实现投影操作的是哪个子句
select原创 2020-12-28 20:24:39 · 6086 阅读 · 0 评论 -
mysql教程
首先我们先了解数据库可以干什么SQL能做什么?1. SQL可以创建和管理数据库、数据表、存储过程、视图等2. SQL可以向数据库中插入新的记录,并可进行修改、删除3. SQL可以查询数据库中的记录4.SQL可以对数据库进愆事务控制和权限管理按功能和用途,可以将SQL语言分为4类:DDL、DML、DQL、DCLwindow+R后输入services.msc,找到mysql,点击启动。然后在命令提示符中输入mysql -u root -p后回车,输入密码即可启动mysql。如下图:通过c原创 2020-09-09 21:37:06 · 1239 阅读 · 0 评论