随笔分类 -  mysql

摘要:看了极客时间的mysql45讲记录一下自己理解的关于索引部分 为什么会有索引呢? 答:索引就像书的目录一样,可以让你快速知道你要看的部分在多少页。换句话说,索引就是为了提高数据库的查询效率。 索引的数据结构有多种,哈希表,有序数组,搜索树。 在innodb中表都是按照主键顺序以索引的形式存放在b+t 阅读全文
posted @ 2019-06-22 22:23 幸福的波波肠 阅读(177) 评论(0) 推荐(0)
摘要:下面是一个表的创建语句,这个表有一个主键id和一个整型字段c: 如果要将 id = 2 这一行的值加 1,sql语句就会这么写: 上一篇文章介绍过sql语句几本的执行链路,首先可以确定的说,查询语句的流程,更新语句也是同样的会走一遍。 我们执行语句之前都要先连接数据库,这是连接器的工作。 前面有说过 阅读全文
posted @ 2019-06-06 14:40 幸福的波波肠 阅读(265) 评论(0) 推荐(0)
摘要:写在前面的话:回想以前上班的时候,空闲时间还是挺多的,但是都荒废了。如今找工作着实费劲了。但是这段时间在极客时间买了mysql45讲,就好像发现了新大陆一样,这是我认真做笔记的第一天,说实话第一讲我已经看了有5遍了吧。今晚认真读了一遍也思考了一遍,打算做一下记录,也让自己再回想一遍,加深印象。其实第 阅读全文
posted @ 2019-06-02 23:34 幸福的波波肠 阅读(343) 评论(0) 推荐(0)
摘要:总结 1.事务的特性:原子性,一致性,隔离性,持久性。 2.事务就是要保证一组数据库操作,要么全部成功,要么全部失败。 3.多个事务同时执行的时候,就可能出现,脏读,不可重复读,幻读。为了解决这些问题,就有了隔离级别的概念。 4.不同事务隔离级别的区别 读未提交:指一个事务还没提交时,它做的改变其他 阅读全文
posted @ 2019-04-23 23:53 幸福的波波肠 阅读(111) 评论(0) 推荐(0)
摘要:使用场景:数据库类,一般的小中型项目就一台mysql服务器想连接数据库的话就用一个对象去连接就好了。 阅读全文
posted @ 2019-04-09 14:20 幸福的波波肠 阅读(127) 评论(0) 推荐(0)
摘要:首先是连接器 连接器负责跟客户端来链接 链接成功后 mysql会先去查询缓存,之前是不是有查询的这条语句,之前执行过的话 就会以key-value的形式缓存到内存中,如果没有就会继续执行后面的,执行完成后就会存入缓存。如果没有缓存就开始对sql语句进行解析,分析器会做词法解析,解析字段是否正确 表名 阅读全文
posted @ 2019-02-28 10:45 幸福的波波肠 阅读(308) 评论(0) 推荐(0)
摘要:Innodb和myisam最大的不同就是 innodb支持事物 采用了行锁 myisam 采用了表锁 默认就使用了表锁 表锁:速度快 并发小 发生锁冲突高 开销小 行锁:速度慢 并发高 发生锁冲突低 开销大 myisam 只支持表锁 查看表争锁情况 table_locks_waited 值越高 说明 阅读全文
posted @ 2018-05-23 11:32 幸福的波波肠 阅读(832) 评论(0) 推荐(0)
摘要:sql注入方法: 1.数字注入 get请求 www.bobo.com?id=1 可以查出 ID等于1的一条数据。 如果有人在链接后面增加 www.bobo.com?id=1 or 1=1 / www.bobo.com?id=-1 or 1=1 这样就会查出 所有的数据来 因为永远为真了。 2.字符串 阅读全文
posted @ 2018-05-19 22:48 幸福的波波肠 阅读(149) 评论(0) 推荐(0)
摘要:百万数据测试 阅读全文
posted @ 2018-05-17 15:00 幸福的波波肠 阅读(266) 评论(0) 推荐(1)
摘要:优化后台业主评价服务人员运行缓慢。 案发现场:后台业主评价服务人员列表页以及搜索页运行缓慢。运行时间为24074ms. 排查过程: 1.代码开头加时间,结束加时间。看运行了多少秒。 2.给评价表加联合索引。还是没有变快。 3.打印查询数据库的地方。看看哪里出了问题,发现有一处foreach循环语句查 阅读全文
posted @ 2018-05-17 14:56 幸福的波波肠 阅读(169) 评论(0) 推荐(0)
摘要:记录一下这几天看mysql必知必会的小知识点: 关于mysql查询不同的行 比如记录表中 查询有多少个城市 可能查出很多城市 可以用distinct 来解决这个问题 SELECT DISTINCT cityid FROM a; 昨天看的时候 还没想到其实用group by 也可以实现这个需求 SEL 阅读全文
posted @ 2018-05-15 15:14 幸福的波波肠 阅读(164) 评论(0) 推荐(0)
摘要:对比一下,首先是用 mysql 的存储过程弄的: 复制代码 代码如下: mysql>delimiter $ mysql>SET AUTOCOMMIT = 0$$ mysql> create procedure test() begin declare i decimal (10) default 0 阅读全文
posted @ 2017-08-08 10:43 幸福的波波肠 阅读(922) 评论(0) 推荐(0)