数据库学习
混血王子1996
这个作者很懒,什么都没留下…
展开
-
redis学习 基础篇(一)
redis是一种常用非关系型数据库,主要特点为高速,作为php工程师,redis是一种必须掌握的技术,可以有效应对高并发时的缓存问题。具体简介可以在菜鸟教程查看(http://www.runoob.com/redis/redis-intro.html)。1.redis环境安装系统环境为centos,下载地址为https://redis.io/download,下载后放到linux的目录里面原创 2017-06-05 20:37:36 · 4420 阅读 · 0 评论 -
mysql幻读详解
之前一直以为要锁表才能解决幻读,没想到mvvc和nextkey-locking,组合使用就可以解决了。转自https://www.jianshu.com/p/47e6b959a66eMySQL解决幻读啥是幻读The so-called phantom problem occurs within a transaction when the same query produces di...转载 2019-05-15 22:52:01 · 398 阅读 · 1 评论 -
MYSQL索引优化查询之ICP、MRR、BKA
Index Condition Pushdown(ICP)Index Condition Pushdown (ICP)是mysql使用索引从表中检索行数据的一种优化方式。ICP原理禁用ICP,存储引擎会通过遍历索引定位基表中的行,然后返回给MySQL Server层,再去为这些数据行进行WHERE后的条件的过滤。开启ICP,如果部分WHERE条件能使用索引中的字段,MySQL Se...转载 2019-05-13 23:42:05 · 564 阅读 · 0 评论 -
Redis中3种特殊的数据类型(BitMap、Geo和HyperLogLog)
转自https://www.jb51.net/article/136322.htm这篇文章主要给大家介绍了关于Redis中3种特殊的数据类型(BitMap、GEOADD和GEODIST)的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。前言Reids 在 Web 应用的开发中使用非常广泛,几乎所有的后端技术...转载 2019-05-05 23:22:04 · 1880 阅读 · 0 评论 -
通过一个案例分析讲解mysql的auto_increment锁带来的表锁(innodb_autoinc_lock_mode)
学习的时候看到auto_increment锁的问题,已经innodb_autoinc_lock_mode参数的存在,转载一篇不错文章,慢慢品味案例描述:线上一张表有大概2亿条,50个G左右大小的数据,业务进行重新规划,需要将绝大部分数据进行历史归档.当时为了方便,就新建一张相同结构的表,然后快速的rename成线上表,然后将备份表需要导入到线上表的数据进行insert into sel...转载 2019-04-25 00:11:24 · 1090 阅读 · 0 评论 -
MySQL InnoDB MVCC 机制的原理及实现
链接:https://zhuanlan.zhihu.com/p/64576887什么是 MVCCMVCC (Multiversion Concurrency Control) 中文全程叫多版本并发控制,是现代数据库(包括 MySQL、Oracle、PostgreSQL 等)引擎实现中常用的处理读写冲突的手段,目的在于提高数据库高并发场景下的吞吐性能。如此一来,不同事务并发过程中,SEL...转载 2019-05-04 16:09:21 · 427 阅读 · 0 评论 -
phpmyadmin 连接mysql8 报requested authentication method unknown to the client [caching_sha2_password]
#登录mysqlmysql -u root -pALTER USER 'root'@'localhost' IDENTIFIED BY 'Lzslov123!';#添加远程登录用户CREATE USER 'liaozesong'@'%' IDENTIFIED WITH mysql_native_password BY 'Lzslov123!';GRANT ALL PRIVILEGES...原创 2019-04-19 15:39:25 · 3562 阅读 · 0 评论 -
Mysql怎么利用explain来优化
MySQL 提供了一个 EXPLAIN 命令, 它可以对SELECT语句进行分析, 并输出SELECT执行的详细信息, 以供开发人员针对性优化.EXPLAIN 命令用法十分简单, 在 SELECT 语句前加上 Explain 就可以了, 例如:EXPLAINSELECT*fromuser_infoWHEREid<300;准备为了接下来方便演示 EXPL...转载 2019-04-18 17:21:14 · 452 阅读 · 0 评论 -
redis的五大数据类型和底层数据结构的关系
今天看《Redis设计与实现》的时候想总结一下,但是这哥们已经写得很好了,转载一下转载出处https://www.cnblogs.com/ysocean/p/9102811.html#_label11、对象的类型与编码 Redis使用前面说的五大数据类型来表示键和值,每次在Redis数据库中创建一个键值对时,至少会创建两个对象,一个是键对象,一个是值对象,而Redis中的每个对...转载 2019-05-01 22:06:21 · 1199 阅读 · 0 评论 -
Docker安装mysql和phpmyadmin
安装的mysql:5.6版本,其他版本修改mysql:5.6就行了,通过docker exec -it mymysql "/bin/sh"可以进入容器直接操作docker run -p 3306:3306 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql ...原创 2019-04-16 13:44:23 · 600 阅读 · 0 评论 -
PHP操作MongoDB
PHP操作MongoDB MongoDB的PHP驱动提供了一些核心类来操作MongoDB,总的来说MongoDB命令行中有的功能,它都可以实现,而且参数的格式基本相似。PHP7以前的版本和PHP7之后的版本对MongoDB的操作有所不同,本文主要以PHP7以前版本为例讲解PHP对MongoDB的各种操作,最后再简单说明一下PHP7以后版本对MongoDB的操作。一、数据插入 1...转载 2019-03-23 11:36:39 · 471 阅读 · 0 评论 -
批量删除Redis数据库中的Key
批量删除KeyRedis 中有删除单个 Key 的指令 DEL,但好像没有批量删除 Key 的指令,不过我们可以借助 Linux 的 xargs 指令来完成这个动作 redis-cli keys "*" | xargs redis-cli del //如果redis-cli没有设置成系统变量,需要指定redis-cli的完整路径 //如:/opt/redis/...转载 2018-07-23 11:22:52 · 511 阅读 · 0 评论 -
MySQL中REGEXP正则表达式使用大全
以前我要查找数据都是使用like后来发现mysql中也有正则表达式了并且感觉性能要好于like,下面我来给大家分享一下mysql REGEXP正则表达式使用详解,希望此方法对大家有帮助。MySQL采用Henry Spencer的正则表达式实施,其目标是符合POSIX 1003.2。请参见附录C:感谢。MySQL采用了扩展的版本,以支持在SQL语句中与REGEXP操作符一起使用的模式匹配操作转载 2017-07-17 22:31:18 · 12252 阅读 · 0 评论 -
这几天潜心研究一下mysql和sql优化,先不更新了
这几天潜心研究一下mysql和sql优化,先不更新了原创 2017-07-05 21:51:56 · 3981 阅读 · 0 评论 -
PHP中MySQL、MySQLi和PDO的用法和区别
PHP的MySQL扩展(优缺点)设计开发允许php应用与mysql数据库交互的早期扩展。mysql扩展提供了一个面向过程 的接口;并且是针对MySQL4.1.3或更早版本设计的。因此,这个扩展虽然可以与MySQL4.1.3或更新的数 ;据库服务端 进行交互,但并不支持后期MySQL服务端提供的一些特性。PHP的mysqli扩展mysqli扩展,我们有时称转载 2017-07-10 21:59:34 · 4150 阅读 · 0 评论 -
redis学习 基础篇(二) php操作redis
之前的基础篇(一)已经学习了redis的含义和五种数据结构的操作,订阅和事务。而我们学习redis就是为了辅助php的,所以这次学习php操作redis原创 2017-06-06 21:03:51 · 4887 阅读 · 0 评论 -
Redis和Memcached的区别
Redis的作者Salvatore Sanfilippo曾经对这两种基于内存的数据存储系统进行过比较:Redis支持服务器端的数据操作:Redis相比Memcached来说,拥有更多的数据结构和并支持更丰富的数据操作,通常在Memcached里,你需要将数据拿到客户端来进行类似的修改再set回去。这大大增加了网络IO的次数和数据体积。在Redis中,这些复杂的操作通常和一般的GET/SET转载 2017-06-16 23:04:21 · 485 阅读 · 0 评论 -
【MySQL】当前读、快照读、MVCC
当前读: select...lock in share mode (共享读锁) select...for update update , delete , insert 当前读, 读取的是最新版本, 并且对读取的记录加锁, 阻塞其他事务同时改动相同记录,避免出现安全问题。 例如,假设要update一条记录,但是另一个事务已经delete这条数据并且commit了,如...转载 2019-06-30 20:15:50 · 375 阅读 · 0 评论