mysql
文章平均质量分 82
程序猿视界
一个很帅的程序猿
展开
-
关于mysql使用过程中limit分页导致查询速度慢的优化
最近在项目中遇到一个有意思的事。mysql在查询过程中耗时很长,找了一下原因,无果。遂去万能的百度寻求答案,找来找去,感觉自己好像发现了什么。。。以此记录一下,下次遇到的话有个解决!!!先是我最开始的sql语句select * from table limit 100000,20执行时间3.26秒然后优化limit优化后的sql语句select * from tab...原创 2019-07-17 15:56:04 · 1672 阅读 · 1 评论 -
lnmp的部署
开始使用博客了,把之前有道云的相关记录搬过来,今天就写一下关于lnmp的部署1)安装编译环境 c c++ make2) 安装常用类库 pcre(正则),zlib(压缩),openssl(http)3)安装nginx a.下载解压wget;tar -zxvf b.配置用户及用户组groupadd -r nginx;useradd -r -g nginx nginx...原创 2019-07-23 14:09:17 · 153 阅读 · 0 评论 -
悲观锁与乐观锁的一点儿记录
1.悲观锁在对数据进行操作前,先对这块数据加排他锁,数据操作完之后释放锁如果加锁失败,说明该记录正在被修改,那么当前查询可能要等待或者抛出异常。 具体响应方式由实际情况决定。如果成功加锁,那么就可以对记录做修改,事务完成后就会解锁了。其间如果有其他对该记录做修改或加排他锁的操作,都会等待我们解锁或直接抛出异常。eg:SELECT*FROM`pay_order`WHE...原创 2019-07-23 14:23:06 · 127 阅读 · 0 评论 -
mysql中关于事务
Db::startTrans(); //启动事务try {这里写SQL语句Db::commit(); //提交事务} catch (\PDOException $e) {Db::rollback(); //回滚事务}mysql事务隔离级别有四个1.读未提交,有两个事务:事务A与事务B,事务A里面更新了一条记录并且未提交,事务B可以...原创 2019-07-23 14:24:30 · 202 阅读 · 0 评论 -
mysql存储引擎
1.MYISAM引擎MyISAM存储引擎:不支持事务、也不支持外键,优势是访问速度快,对事务完整性没有 要求或者以select,insert为主的应用基本上可以用这个引擎来创建表2.InnorDb引擎存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。但是对比MyISAM引擎,写的处理效率会差一些,并且会占用更多的磁盘空间以保留数据和索引。InnoDB存储引擎的特点:支持自动增...转载 2019-07-23 14:37:25 · 190 阅读 · 0 评论 -
sql语句在mysql中执行的顺序
from->where->group by->子句->计算表达式->select->排序SQL Select 语句完整的执行顺序:1、from 子句组装来自不同数据源的数据;2、where 子句基于指定的条件对记录行进行筛选;3、group by 子句将数据划分为多个分组;4、使用聚集函数进行计算;5、使用 having 子句筛选分...原创 2019-07-23 14:38:18 · 222 阅读 · 0 评论 -
mysql索引简析
数据结构角度出发:1、B+Tree(O(log(n))):关于B+树索引,可以参考MySQL索引背后的数据结构及算法原理2、hash索引:a 仅仅能满足"=","IN"和"<=>"查询,不能使用范围查询b 其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于...转载 2019-07-23 14:39:13 · 157 阅读 · 0 评论