随笔分类 -  MySQL

摘要:##MySQL实现 DROP FUNCTION IF EXISTS getParentNode; CREATE FUNCTION getParentNode(chdId INT) RETURN VARCHAR(4000) CHARSET UTF8 BEGIN DECLAR sTemp VARCHAR 阅读全文
posted @ 2020-06-19 14:33 凿石头的小石匠 阅读(241) 评论(0) 推荐(0)
摘要:MySQL基本架构图 连接器 1.负责和客户端建立连接,获取权限,维持和管理连接 用户名密码验证 查询权限信息,分配对应的权限 可以使用show processlist查看现有的连接 wait_timeout默认8小时,超时会断开连接 2.连接分为两类 长连接:推荐使用,但是要周期性的断开长连接 短 阅读全文
posted @ 2020-04-15 00:24 凿石头的小石匠 阅读(284) 评论(0) 推荐(0)
摘要:题目 :有一张用户签到表【t_user_attendence】,标记每天用户是否签到(说明:该表包含所有用户所有工作日的出勤记录) ,包含三个字段:日期【fdate】,用户id【fuser_id】,用户当天是否签到【fis_sign_in:0否1是】; 问题1: 请计算截至当前每个用户已经连续签到的 阅读全文
posted @ 2020-04-14 23:07 凿石头的小石匠 阅读(355) 评论(0) 推荐(0)
摘要:模拟事务级别现象 1、打开mysql的命令行,将自动提交事务给关闭 2、数据准备 3、测试事务 | 隔离级别 | 异常情况 | 异常情况 | 异常情况 | | | | | | | 读未提交 | 脏读 | 不可重复读 | 幻读 | | 读已提交 | | 不可重复读 | 幻读 | | 可重复读 | | 阅读全文
posted @ 2020-03-19 23:17 凿石头的小石匠 阅读(179) 评论(0) 推荐(0)
摘要:1、MySQL锁的基本介绍 ​ 锁是计算机协调多个进程或线程并发访问某一资源的机制。 在数据库中,除传统的 计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一 个问题,锁冲突也是影响数据库并发访问性能的一个 阅读全文
posted @ 2020-03-19 22:33 凿石头的小石匠 阅读(149) 评论(0) 推荐(0)
摘要:general常规的 datadir=/var/lib/mysql 数据文件存放的目录 socket=/var/lib/mysql/mysql.sock mysql.socket表示server和client在同一台服务器,并且使用localhost进行连接,就会使用socket进行连接 pid_f 阅读全文
posted @ 2020-03-17 23:35 凿石头的小石匠 阅读(212) 评论(0) 推荐(0)
摘要:分区表原理 分区表由多个相关的底层表实现,这个底层表也是由句柄对象标识,我们可以直接访问各个分区。存储引擎管理分区的各个底层表和管理普通表一样(所有的底层表都必须使用相同的存储引擎),分区表的索引知识在各个底层表上各自加上一个完全相同的索引。从存储引擎的角度来看,底层表和普通表没有任何不同,存储引擎 阅读全文
posted @ 2020-03-16 23:46 凿石头的小石匠 阅读(250) 评论(0) 推荐(0)
摘要:为什么查询慢 慢的原因有很多,比如网络、CPU、IO、锁、SQL本身问题等。 SQL执行响应时间是第一位的,SQL的优化一定要找出哪部分是最慢的,具体问题具体分析。分析方法可以使用系统性能检测和执行计划查看。 数据量大问题 1.查询是避免使用select ,应该具体列出需要的那些字段; 2.如果明确 阅读全文
posted @ 2020-03-16 23:28 凿石头的小石匠 阅读(243) 评论(0) 推荐(0)
摘要:如果合理的设计且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。 索引分类 1.PRIMARY KEY 主键索引:一个表只能有一个主键,不允许有空值。 2.UNIQUE INDEX 唯一索引:索引列的值必须唯一,但允许有空值。 3.INDEX 普通索引: 阅读全文
posted @ 2020-03-14 00:29 凿石头的小石匠 阅读(208) 评论(0) 推荐(0)
摘要:官网地址: 点击下载Zip,下载后解压出来的sql文件。 sql文件可以用数据库连接工具如Navicat执行SQL语句导进去。 也可以使用source命令导入。 阅读全文
posted @ 2020-03-13 23:20 凿石头的小石匠 阅读(741) 评论(0) 推荐(0)
摘要:官网地址: explain+SQL语句来模拟优化器执行SQL查询语句,可以了解到SQL语句执行的顺序 1.执行计划结果信息 id select查询的序列号,包含一组数字,表示查询中执行select子句或者操作表的顺序 id号分为三种情况: ​ 1、如果id相同,那么执行顺序从上到下 ​ 2、如果id 阅读全文
posted @ 2020-03-13 22:54 凿石头的小石匠 阅读(212) 评论(0) 推荐(0)
摘要:字符集的选择 字符集直接决定了数据在MySQL中的存储编码方式,由于同样的内容使用不同字符集表示所占用的空间大小会有较大的差异,所以通过使用合适的字符集,可以帮助我们尽可能减少数据量,进而减少IO操作次数。 1.纯拉丁字符能表示的内容,没必要选择 latin1 之外的其他字符编码,因为这会节省大量的 阅读全文
posted @ 2020-03-13 00:00 凿石头的小石匠 阅读(196) 评论(0) 推荐(0)
摘要:show profile查询剖析工具 show profiles默认是关闭的 show profiles可以查询SQL语句执行消耗资源的详细信息。 show profile可以对SQL语句进行分析,查看每部分的执行情况。 show profile后面常用的查询参数: 1.all:显示所有性能信息 2 阅读全文
posted @ 2020-03-12 23:23 凿石头的小石匠 阅读(1618) 评论(0) 推荐(1)