
mysql
文章平均质量分 86
mysql相关
kai~L
/╲/\( •̀ ω •́ )/\╱\
展开
-
06-深入理解Mysql事务隔离级别与锁机制
MyISAM在执行查询语句SELECT前,会自动给涉及的所有表加读锁,在执行update、insert、delete操作会自动给涉及的表加写锁。InnoDB在执行查询语句SELECT时(非串行隔离级别),不会加锁。但是update、insert、delete操作会加行锁。简而言之,就是读锁会阻塞写,但是不会阻塞读。而写锁则会把读和写都阻塞。原创 2024-09-20 14:34:33 · 2048 阅读 · 0 评论 -
04 mysql索引优化
以社交场景APP来举例,我们一般会去搜索一些好友,这里面就涉及到对用户信息的筛选,这里肯定就是对用户user表搜索了,这个表一般来说数据量会比较大,我们先不考虑分库分表的情况,比如,我们一般会筛选地区(省市),性别,年龄,身高,爱好之类的,有的APP可能用户还有评分,比如用户的受欢迎程度评分,我们可能还会根据评分来排序等等。一般来说,通过这么一个多字段的索引是能够过滤掉绝大部分数据的,就保留小部分数据下来基于磁盘文件进行order by语句的排序,最后基于limit进行分页,那么一般性能还是比较高的。原创 2024-09-09 09:00:00 · 576 阅读 · 0 评论 -
03 mysql慢查询
这个是由参数long_query_time控制,默认情况下long_query_time的值为10秒,可以使用命令修改,也可以在my.cnf参数里面修改。如上所示,我修改了变量long_query_time,但是查询变量long_query_time的值还是10,难道没有修改到呢?log_output='TABLE'表示将日志存入数据库,这样日志信息就会被写入到mysql.slow_log表中。my.cnf要增加或修改参数slow_query_log 和slow_query_log_file,如下所示。原创 2024-09-09 09:00:00 · 1617 阅读 · 0 评论 -
02 Explain详解与索引优化
扫描全索引就能拿到结果,一般是扫描某个二级索引,这种扫描不会从索引树根节点开始快速查找,而是直接对二级索引的叶子节点遍历和扫描,速度还是比较慢的,这种查询一般为使用覆盖索引,二级索引一般比较小,所以这种通常比ALL快一些。在这种情况下,可以通过检查 where 子句看是否可以创造一个适当的索引来提高查询性能,然后用 explain 查看效果。2.关联表查询,idx_film_actor_id是film_id和actor_id的联合索引,这里使用到了film_actor的左边前缀film_id部分。原创 2024-09-02 14:15:34 · 750 阅读 · 0 评论 -
01 mysql索引&数据结构
数据结构形成演示:原创 2024-08-29 16:58:00 · 333 阅读 · 0 评论 -
mysql5.7和8.0安装
先卸载MariaDB在CentOS中默认安装有MariaDB,是MySQL的一个分支,主要由开源社区维护。CentOS 7及以上版本已经不再使用MySQL数据库,而是使用MariaDB数据库。如果直接安装MySQL,会和MariaDB的文件冲突。因此,需要先卸载自带的MariaDB,再安装MySQL。1.1 查看版本:1.2 卸载rpm -e --nodeps 文件名1.3 检查是否卸载干净:第一步:下载mysql 5.7检查是否本地已经安装了mysql。原创 2024-08-29 17:47:21 · 871 阅读 · 0 评论