MySQL入门学习
文章平均质量分 75
摩羯座程序员
在IT行业行走的二十年,让我经历了从PC时代到移动互联网,再到如今AI浪潮的技术变迁。我并非追赶每一朵浪花,而是深耕技术本质,构建应对变化的底层能力。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
SQL优化-2
没有not null约束:InnoDB引擎会遍历整张表把每一行的字段值都取出来,返回给服务层,服务层判断是否为null,不为null,计数累加。count()是一个聚合函数,对于返回的结果集,一行行地判断,如果count函数的参数不是NULL, 累计值就加1,否则不加,最后返回累计值。当分页很大时,查询数据变慢。InnoDB引擎就麻烦了,它执行count(*)的时候,需要把数据一行一行地从引擎里面读出来,然后累积计数。用法:count(*)、count(主键)、count(字段)、count(1);原创 2025-12-29 21:58:02 · 0 阅读 · 0 评论 -
SQL-性能优化
当页中删除的记录达到MERGE_THRESHOLD(默认为页的50%),InnoDB会开始寻找最靠近的页(前或后)看看是否可以将两个页合并以优化空间使用。Using filesort: 通过表的索引或全表扫描,读取满足条件的数据行,然后在排序缓冲区sort buffer中完成排序操作,所有不是通过索引直接返回排序结果的排序都叫filesort排序。使用了临时表,性能很低。using index: 通过有序索引顺序扫描直接返回有序数据,这种情况即为using index,不需要额外排序,操作效率高。原创 2025-12-28 09:43:11 · 492 阅读 · 0 评论 -
索引的使用及设计规则
当字段类型为字符串(varchar,text等)时,有时候需要索引很长的字符串,这会让索引变得很大,查询时,浪费大量的磁盘IO,影响查询效率。// mysql数据库使用的是联合索引。尽量使用联合索引,减少单列索引,查询时,联合索引很多时候可以覆盖索引,节省存储空间,避免回表,提高查询效率。用or分割开的条件,如果or前的条件中的列有索引,而后面的列中没有索引,那么涉及的索引都不会被用到。要控制索引的数量,索引并不是多多益善,索引越多,维护索引结构的代价也就越大,会影响增删改的效率。原创 2025-12-24 23:02:35 · 424 阅读 · 0 评论 -
MySQL索引使用--最左前缀法则
explain select * from tb_user where profession = '软件工程' and age >= 30 and status = '0';可能使用的索引是idx_pro_age_sta, 实际使用的索引是idx_pro_age_sta;可能使用的索引是idx_pro_age_sta, 实际使用的索引是idx_pro_age_staidx_pro_age_sta。可能使用的索引是 idx_pro_age_sta;实际使用的索引是 idx_pro_age_sta;原创 2025-12-14 21:42:39 · 260 阅读 · 0 评论 -
MySQL索引性能分析
sql的执行计划:explain select s., c. from student s, course c , student_course sc where s.id = sc.studentid and sc.courseid= c.id。表示select的类型,常见的取值有SIMPLE(简单表,即不使用表连接或子查询)、PRIMARY(主查询,即外层的查询)、UNION(UNION中的第二个或者后面的查询语句)、SUBQUERY(SELECT/WHERE之后包含了子查询)等。原创 2025-12-13 15:05:41 · 950 阅读 · 0 评论 -
MySQL的索引
在原B+Tree的基础上,增加一个指向相邻叶子节点的链表指针,就形成了带有顺序指针的B+Tree,提高区间访问的性能。索引列也是要占用空间的,索引大大提高了查询效率,同时却也降低更新表的速度,如对表进行INSERT、UPDATE、DELETE时,效率也降低。假设:一行数据大小为1k,一页中可以存储16行这样的数据,InnoDB的指针占用6个字节的空间,主键即使为bigint,占用字节数为8。提高数据检索的效率,降低数据库的IO成本,通过索引列对数据进行排序,降低数据排序的成本,降低CPU的消耗。原创 2025-12-07 09:10:06 · 774 阅读 · 0 评论 -
MySQL数据库主从复制
其中主从复制时一种关键的高可用和数据冗余技术,通过将主服务器上的所有更改的数据实时或者近乎实时地复制到从服务器上,确保了数据的安全备份。从服务器接收到主服务器的binlog内容后,会将其存储在本地的relay log中,从服务器上的SQL线程负责读取relay log中的事件,并在本地按照相同的顺序执行这些事件,从而实现与主服务器的数据同步。主从复制的核心是“主库写入,从库读取”,主库负责处理所有的写操作,并生成binlog日志,从库接收并执行这些binlog中的变更操作,从而达到与主库的数据同步。原创 2024-02-03 20:12:10 · 712 阅读 · 1 评论 -
MySQL数据库的锁机制
MySQL数据库的锁是控制并发访问和事务处理中数据一致性的一种机制。在多用户环境或并发事务环境下,不同的事务同时尝试对相同的数据进行读取或修改操作,为了防止多个事务间相互干扰导致数据不一致问题,数据库系统使用锁来确保同一时刻只有一个事务能够对特定资源进行写入操作。原创 2024-01-24 23:00:00 · 1473 阅读 · 1 评论 -
MySQL数据库索引优化实战
在数据库的应用中,性能优化是一个持续不断的过程。其中索引优化是提高查询速度的最有效的方法,本文将通过案例,深入探讨MySQL索引优化,帮助读者理解索引优化、在实际的应用中提升性能。原创 2024-01-04 22:54:06 · 1155 阅读 · 1 评论 -
MySQL数据库索引优化
MySQL数据库索引优化,介绍了索引的重要性、什么是索引、如何使用索引、索引的优化以及示例分析原创 2024-01-01 22:50:44 · 2110 阅读 · 0 评论 -
MySQL数据库导入100万数据不同方式的性能差异
mysql单笔insert、批量insert已经import的性能比较原创 2023-12-30 20:57:56 · 1530 阅读 · 1 评论 -
MySQL数据库多版本并发控制(MVCC)
mysql数据库多版本控制MVCC原创 2023-12-28 22:09:03 · 829 阅读 · 1 评论 -
MySQL的事务-可重复读
MySQL数据库的可重复读隔离级别原创 2023-12-26 23:25:22 · 839 阅读 · 2 评论 -
MySQL的事务-隔离级别
MySQL数据库的隔离级别介绍原创 2023-12-25 23:00:33 · 581 阅读 · 0 评论 -
MySQL的事务-原子性
mysql数据库事务原子性的理解原创 2023-12-24 22:25:53 · 1629 阅读 · 0 评论 -
Linux环境下MySQL安装
linux环境下如何安装mysql数据库原创 2023-12-24 17:16:18 · 485 阅读 · 0 评论
分享