
mysql
文章平均质量分 83
期望之中
幽默风趣,谨慎好学,乐于运动
展开
-
redis缓存雪崩,击穿,穿透,到底是什么?
在今天的互联网里,高并发、大数据量、大流量已经成为了代言词,那么我们的系统也承受着巨大的压力,首当其冲的解决方案就是redis。那么redis使用不当就会产生雪崩、穿透、击穿等问题,这也是考验一个程序员技术能力的时刻。当然面试的时候,这也是高频面试题,几乎大厂都会问到。下面跟着贴心老哥一起来看看这些技术吧。缓存雪崩举例双十一期间,所有用户一打开淘宝就是进入首页,首页的压力非常大,为了提高并发,将网站首页数据都缓存到redis里,所有的redis key失效时间都是3小时。双十一当天大量用户剁转载 2021-07-05 15:47:20 · 203 阅读 · 0 评论 -
图解SQL的inner join、left join、right join、full outer join、union、union all的区别
对于SQL的Join,在学习起来可能是比较乱的。我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对于Select出来的结果集是什么样子有点不是很清楚。Coding Horror上有一篇文章,通过文氏图 Venn diagrams 解释了SQL的Join。我觉得清楚易懂,转过来。假设我们有两张表。Table A 是左边的表。Table B 是右边的表。其各...转载 2018-10-31 17:11:59 · 156 阅读 · 0 评论 -
sql中的 IF 条件语句的用法
IF 表达式IF( expr1 , expr2 , expr3 )expr1 的值为 TRUE,则返回值为 expr2 expr2 的值为FALSE,则返回值为 expr3如下:SELECT IF(TRUE,1+1,1+2);-> 2SELECT IF(FALSE,1+1,1+2);-> 3SELECT IF(STRCMP("111","222"),"不相等转载 2017-10-12 15:22:46 · 755 阅读 · 0 评论 -
mysql分库分表实战及php代码操作完整实例
当单表达到几千万时,查询一次要很久,如果有联合查询,有可能会死在那分库分表主要就是解决这个问题,减小数据库的负担,缩短查询时间分库:1)按功能分用户类库、商品类库、订单类库、日志类、统计类库...1)按地区分每个城市或省市一个同样的库,加上后缀或前缀如:db_click_bj、db_click_sh...分表:1、横向分表 解决表记录太大问题1)按某个字转载 2017-08-11 15:23:00 · 507 阅读 · 0 评论 -
Sphinx 的介绍和原理探索
What/Sphinx是什么定义:Sphinx是一个全文检索引擎。特性:索引和性能优异易于集成SQL和XML数据源,并可使用SphinxAPI、SphinxQL或者SphinxSE搜索接口易于通过分布式搜索进行扩展高速的索引建立(在当代CPU上,峰值性能可达到10 ~ 15MB/秒)高性能的搜索 (在1.2G文本,100万条文档上进行搜索,支持高达每秒150~250次查转载 2017-01-09 11:32:13 · 285 阅读 · 0 评论 -
mysql垂直分区和水平分区
数据库扩展大概分为以下几个步骤: 1、读写分离:当数据库访问量还不是很大的时候,我们可以适当增加服务器,数据库主从复制的方式将读写分离; 2、垂直分区:当写入操作一旦增加的时候,那么主从数据库将花更多的时间的放在数据同步上,这个时候服务器也是不堪重负的;那么就有了数据的垂直分区,数据的垂直分区思路是将写入操作比较频繁的数据表,如用户表_user,或者订单表_orders,那么我们就可以转载 2016-12-29 19:48:58 · 589 阅读 · 0 评论 -
mysql分区表的原理和优缺点
1.分区表的原理分区表是由多个相关的底层表实现,这些底层表也是由句柄对象表示,所以我们也可以直接访问各个分区,存储引擎管理分区的各个底层表和管理普通表一样(所有的底层表都必须使用相同的存储引擎),分区表的索引只是在各个底层表上各自加上一个相同的索引,从存储引擎的角度来看,底层表和一个普通表没有任何不同,存储引擎也无须知道这是一个普通表还是一个分区表的一部分。 在分区表上的操转载 2016-12-29 19:21:28 · 486 阅读 · 0 评论 -
mysql的索引
什么是索引索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位置。如果表有1000个记录,通过索引查找记录至少要比顺序扫描记录快转载 2016-12-29 15:25:37 · 191 阅读 · 0 评论 -
mysql分区功能详细介绍,以及实例
一,什么是数据库分区前段时间写过一篇关于mysql分表的的文章,下面来说一下什么是数据库分区,以mysql为例。mysql数据库中的数据是以文件的形势存在磁盘上的,默认放在/mysql/data下面(可以通过my.cnf中的datadir来查看),一张表主要对应着三个文件,一个是frm存放表结构的,一个是myd存放表数据的,一个是myi存表索引的。如果一张表的数据量太大的话,那么myd,m转载 2016-12-29 14:55:36 · 245 阅读 · 0 评论 -
MySQL存储引擎中的MyISAM和InnoDB区别详解
MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM(Indexed Sequential Access Method:有索引的顺序访问方法)所改良。虽然性能极佳,但却有一个缺点:不支持事务处理(transaction)。不过,在这几年的发展下,MySQL也导入了InnoDB(另一种数据库引擎),以强化参考完整性与并发违规处理机制,后来就逐渐取代MyISAM。Inno转载 2016-12-28 14:04:41 · 243 阅读 · 0 评论 -
MySQL存储引擎总结
前言在数据库中存的就是一张张有着千丝万缕关系的表,所以表设计的好坏,将直接影响着整个数据库。而在设计表的时候,我们都会关注一个问题,使用什么存储引擎。等一下,存储引擎?什么是存储引擎?什么是存储引擎?关系数据库表是用于存储和组织信息的数据结构,可以将表理解为由行和列组成的表格,类似于Excel的电子表格的形式。有的表简单,有的表复杂,有的表根本不用来存储任何长期的数据,有的转载 2016-12-28 13:42:53 · 230 阅读 · 0 评论 -
MYSQL GROUP BY用法详解
这篇文章主要为大家详细介绍了MYSQL GROUP BY用法,具有一定的实用性和参考价值,感兴趣的小伙伴们可以参考一下背景介绍最近在设计数据库的时候因为开始考虑不周,所以产生了大量的重复数据。现在需要把这些重复的数据删除掉,使用到的语句就是Group By来完成。为了进一步了解这条语句的作用,我打算先从简单入手。建一个测试表复制代码代码如下:转载 2016-12-27 15:43:55 · 450 阅读 · 0 评论 -
int(1)和int(11)的区别
在cmd中进入数据库中creata table t(x int(1) zerofill,y int(11)zerofill);insert into t(x,y) values(1,1);select x,y from t;然后我们再创建一张表我们比较一下可以发现int(1)和int(11)使用zerofill后两者才会有所区别,当没有加zerofill时候原创 2016-12-27 14:11:30 · 7416 阅读 · 1 评论 -
mysql的一些内置函数
前言MySQL提供了众多功能强大、方便易用的函数,使用这些函数,可以极大地提高用户对于数据库的管理效率,从而更加灵活地满足不同用户的需求。本文将MySQL的函数分类并汇总,以便以后用到的时候可以随时查看。数学函数(1)ABS(x)返回x的绝对值(2)PI()返回圆周率π,默认显示6位小数(3)SQRT(x)返回非负数的x的二次方根(4)MOD(x,y)返回x转载 2016-11-04 10:29:36 · 294 阅读 · 0 评论