随笔分类 -  mysql

摘要:### 步骤1.优化索引 对于大量数据的删除操作,优化索引是一种提高删除效率的策略,而不是直接删除索引。直接删除索引可能会导致删除操作变慢,而且重新建立索引也会占用一定时间。优化索引的目的是让数据库在进行删除操作时,能够更快速地定位要删除的记录,从而加快删除的速度。 在删除大量数据时,数据库的索引可 阅读全文
posted @ 2023-07-28 16:03 一个苦逼的23届毕业生 阅读(356) 评论(0) 推荐(0) 编辑
摘要:## hash索引 哈希索引是一种基于哈希表的索引结构,它是一种需要精确匹配才生效的索引结构。 实现原理:对索引列计算哈希值把记录映射到哈希槽中,然后指向对应记录行的地址。因此,在查询的时候只要正确匹配到索引列,就能在O(1)的时间复杂度内查到记录。 以下是一个哈希索引的示例,左边是哈希槽,右边是对 阅读全文
posted @ 2023-07-27 16:23 一个苦逼的23届毕业生 阅读(365) 评论(0) 推荐(0) 编辑
摘要:### 一般使用decimal ### decimal、float、double对比 - decimal(9,2):9(precision)代表将被用于存储值的总的小数位数,而 2(scale)代表将被用于存储小数点后的位数。从-9999999.99 到 99999999.99 float类型表示单 阅读全文
posted @ 2023-07-27 15:28 一个苦逼的23届毕业生 阅读(574) 评论(0) 推荐(0) 编辑
摘要:### IN 和 EXISTS 是 MySQL 中用于查询的两个关键字,它们有不同的用途和功能。 ### IN: IN 关键字用于在 WHERE 子句中进行多个值的匹配,它用于检查某个字段的值是否属于指定的一组值。语法如下: ```sql SELECT column1, column2, ... F 阅读全文
posted @ 2023-07-26 14:24 一个苦逼的23届毕业生 阅读(283) 评论(0) 推荐(0) 编辑
摘要:1. 使用函数或表达式: 当查询中使用函数或表达式操作列时,MySQL 无法使用该列上的索引。例如,WHERE 子句中使用函数、表达式或算术操作,如 DATE_FORMAT、CONCAT、IF 等,可能导致索引失效。 2. 列类型不匹配: 在查询中,如果列的类型与索引的列类型不匹配,索引可能失效。例 阅读全文
posted @ 2023-07-25 15:54 一个苦逼的23届毕业生 阅读(113) 评论(0) 推荐(0) 编辑
摘要:## 行锁升级为表锁 总所周知,MySQL 的 InnoDB 存储引擎支持事务,支持行级锁(InnoDB 的行锁是通过给索引项加锁实现的)。得益于这些特性,数据库支持高并发。如果 InnoDB 更新数据使用的不是行锁,而是表锁呢?是的,InnoDB 其实很容易就升级为表锁,届时并发性将大打折扣了。 阅读全文
posted @ 2023-06-30 20:27 一个苦逼的23届毕业生 阅读(412) 评论(0) 推荐(0) 编辑
摘要:##### 1.尽量不要在列上运算,这样会导致索引失效 ``` 例如:select * from admin where year(admin_time)>2014 优化为: select * from admin where admin_time> '2014-01-01′ ``` ##### 2 阅读全文
posted @ 2023-06-27 19:24 一个苦逼的23届毕业生 阅读(13) 评论(0) 推荐(0) 编辑
摘要:### 一、最左匹配原则的原理 ``` MySQL 建立多列索引(联合索引)有最左匹配的原则,即最左优先: 如果有一个 2 列的索引 (a, b),则已经对 (a)、(a, b) 上建立了索引; 如果有一个 3 列索引 (a, b, c),则已经对 (a)、(a, b)、(a, b, c) 上建立了 阅读全文
posted @ 2023-06-27 16:20 一个苦逼的23届毕业生 阅读(268) 评论(0) 推荐(0) 编辑
摘要:### 为什么要使用b+树作为索引数据结构 1. 范围查询效率高:b+树所有的关键字节点都被连成一个有序的链表,可以很方便的顺序查询,范围查询效率高。 2. 磁盘读写性能高:b+树的非叶子节点不存储数据,只存储关键字和指向子节点的指针,所以每个节点可以存储的关键字就增多,一次性读入内存的关键字也增多 阅读全文
posted @ 2023-06-27 15:31 一个苦逼的23届毕业生 阅读(116) 评论(0) 推荐(0) 编辑
摘要:RANK() OVER ( PARTITION BY <expression>[{,<expression>...}] ORDER BY <expression> [ASC|DESC], [{,<expression>...}] ) 按照某字段的排序结果添加排名,但它是跳跃的、间断的排名 (1)若按 阅读全文
posted @ 2023-04-11 21:35 一个苦逼的23届毕业生 阅读(91) 评论(0) 推荐(0) 编辑
摘要:group by和where能不能一起使用 可以,但是where肯定在group by 之前。 一,group by 字句也和where条件语句结合在一起使用。当结合在一起时,where在前,group by 在后。即先对select xx from xx的记录集合用where进行筛选,然后再使用g 阅读全文
posted @ 2023-04-11 21:31 一个苦逼的23届毕业生 阅读(544) 评论(0) 推荐(1) 编辑
摘要:树形表的标记字段是什么 是parentID即父节点的id 如何查询树形表 当层级固定的时候可以用表的自连接查询 select one.id one_id, one.label one_label, two.id two_id, two.label two_label from course_cate 阅读全文
posted @ 2023-03-23 16:39 一个苦逼的23届毕业生 阅读(25) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示